home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 March
/
EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso
/
earcd
/
demo
/
mtrch228.lha
/
MTR
/
MT-Rechnung
/
MT-RechnungII
< prev
next >
Wrap
Text File
|
1996-01-30
|
100KB
|
2,960 lines
/*
$VER: MT-RechnungII 2.28 (30.01.96)
******************************************************************/
/* Rechnungsprogramm für meine Bild- und Videobearbeitungsfirma */
/* MT Graphic & Design */
/******************************************************************/
/* Autor: Manfred Tremmel */
/* Programmiersprache: ARexx */
/******************************************************************/
IF(~show('l','rexxsupport.library')) THEN
CALL addlib('rexxsupport.library',0,-30,0);
IF(~show('l','apig.library')) THEN
CALL addlib('apig.library',0,-30,0);
IF(~show('l','rexxreqtools.library')) THEN
CALL addlib('rexxreqtools.library',0,-30,0);
CALL SET_APIG_GLOBALS();
i = allocmem(346);
x = getscreendata(i,346,WBENCHSCREEN,0);
SCREEN_X = GETVALUE(i,68,2,'n');
SCREEN_Y = GETVALUE(i,70,2,'n');
Font_X = GETVALUE(i,145,1,'n');
Font_Y = GETVALUE(i,143,1,'n');
call freemem(i,346);
i = allocmem(232);
x = getprefs(i,232);
B_laenge = GETVALUE(i,178,2,'n');
call freemem(i,232);
winidcmp = GADGETUP+VANILLAKEY+CLOSEWINDOW;
winflags = ACTIVATE+RMBTRAP+WINDOWCLOSE+WINDOWDRAG+GIMMEZEROZERO+WINDOWDEPTH;
wintitle = "MT-Rechnung";
Win_X1 = 29 * Font_X;
Win_Y1 = 18 * Font_Y;
wintitle2 = "MT-Rechnung - Rechnung erstellen";
Win_X2 = 80 * Font_X;
Win_Y2 = 35 * Font_Y;
IF SCREEN_Y < Win_Y2 THEN
do;
Win_Y2 = 32 * Font_Y;
I_max = 11;
end;
ELSE
I_max = 13;
wintitle3 = "MT-Rechnung - Drucken";
Win_X3 = 45 * Font_X;
Win_Y3 = Win_Y1;
wintitle4 = "MT-Rechnung - Adressen verwalten";
Win_X4 = Win_X2;
Win_Y4 = 32 * Font_Y;
wintitle5 = "MT-Rechnung - Artikel verwalten";
Win_X5 = Win_X2;
Win_Y5 = 14 * Font_Y;
wintitle6 = "MT-Rechnung - Prefs";
Win_X6 = 23 * Font_X;
Win_Y6 = 21 * Font_Y;
LF = '0a'x;
FF = '0c'x;
CR = '0d'x;
/* Druckereinstellungen: */
ESC = '1b'x
D_Z_kl = ESC || "[0z";
D_Z_gr = ESC || "[1z";
D_Schr = ESC || "[0m";
D_SStand = ESC || "[0w" || ESC || '[3"z' || ESC || "[3v";
D_SGross = ESC || '[4"z' || ESC || "[6w";
D_SKlein = ESC || "[4v" || ESC || "[4w";
D_Br10 = ESC || "[0w";
D_Br12 = ESC || "[2w";
D_Br15 = ESC || "[4w";
D_PEin = ESC || "[2p";
D_PAus = ESC || "[1p";
D_UEin = ESC || "[4m";
D_UAus = ESC || "[24m";
D_KEin = ESC || "[3m";
D_KAus = ESC || "[23m";
D_FEin = ESC || "[1m";
D_FAus = ESC || "[22m";
D_CSchw = ESC || "[39m";
D_CMag = ESC || "[35m";
D_CZyan = ESC || "[36m";
D_CViol = ESC || "[34m";
D_CGelb = ESC || "[33m";
D_CRot = ESC || "[31m";
D_CGruen = ESC || "[32m";
D_Rueck = ESC || "c" || D_CSchw || D_Schr || D_SStand || D_Br10 || D_Z_gr|| D_PAus || D_UAus || D_KAus || D_FAus;
ReqCent = "rt_reqpos=reqpos_centerscr";
IF SCREEN_X < Win_X2 | SCREEN_Y < Win_Y2 THEN
rtezrequest("Workbench Screen muß mindestens" LF ||,
Win_X2 "x" Win_Y2 "Bildpunkte groß sein!",,,ReqCent);
ELSE
DO;
datum = UP_Datum(); /* Ermittlung des Datums*/
CALL UP_Kund_lesen; /* Einlesen der Kunden */
CALL UP_Artikel_lesen; /* Einlesen der Artikel */
CALL UP_Rechnung_lesen; /* Einlesen der Rechn. */
CALL UP_Prefs_lesen; /* Einlesen der Prefs */
call DefineGads1;
DefGads2 = 0;
DefGads3 = 0;
DefGads4 = 0;
DefGads5 = 0;
DefGads6 = 0;
portname = "MT_Rechnung";
p = openport(portname);
WaitForPort portname;
w1 = OPENWINDOW(portname,(Screen_X-Win_X1)/2,(Screen_Y-Win_Y1)/2,Win_X1,Win_Y1,0,1,winidcmp,winflags,
,wintitle,scr,0,null(),null(),conxgad);
rpw1 = GETWINDOWRASTPORT(w1);
call GT_REFRESHWINDOW(w1,null());
extime = 0;
apen = 1;
DO WHILE extime = 0;
x = waitpkt(portname);
DO FOREVER;
msg = getpkt(portname);
IF msg = '0000 0000'x THEN LEAVE;
msgclass = getarg(msg,0);
msgcode = getarg(msg,1);
msgid = getarg(msg,9);
x = reply(msg,0);
SELECT
WHEN msgid = 10 | msgcode = 65 | msgcode = 97 THEN
CALL UP_Adressen;
WHEN msgid = 12 | msgcode = 84 | msgcode = 116 THEN
CALL UP_Artikel;
WHEN msgid = 13 | msgcode = 82 | msgcode = 114 THEN
CALL UP_Rechnung;
WHEN msgid = 14 | msgcode = 68 | msgcode = 100 THEN
CALL UP_Drucken;
WHEN msgid = 15 | msgcode = 80 | msgcode = 112 THEN
CALL UP_Prefs;
WHEN msgid = 17 | msgclass = CLOSEWINDOW | msgcode = 69 | msgcode = 101 | msgcode = 27 THEN
extime = rtezrequest("Programm wirklich beenden?","Ende|Weitermachen",,ReqCent);
OTHERWISE
NOP;
END;
END;
END;
CALL CLOSEWINDOW(w1);
CALL FREEGADGETS(conxgad);
CALL FREETHIS(newgadx);
CALL FREEVEC(GPoint);
IF DefGads2 > 0 THEN
DO;
IF DefGads2 > 1 THEN
CALL UP_Rechnung_schreiben;
CALL FREEGADGETS(conxgad2);
CALL FREETHIS(newgadx2);
CALL FREEVEC(GPoint2);
END;
IF DefGads3 > 0 THEN
DO;
CALL FREEGADGETS(conxgad3);
CALL FREETHIS(newgadx3);
CALL FREEVEC(GPoint3);
Call FREETHIS(mylabels);
END;
IF DefGads4 > 0 THEN
DO;
IF DefGads4 > 1 THEN
CALL UP_Kund_schreiben;
CALL FREEGADGETS(conxgad4);
CALL FREETHIS(newgadx4);
CALL FREEVEC(GPoint4);
CALL FREETHIS(Kundlabels);
END;
IF DefGads5 > 0 THEN
DO;
IF DefGads5 > 1 THEN
CALL UP_Artikel_schreiben;
CALL FREEGADGETS(conxgad5);
CALL FREETHIS(newgadx5);
CALL FREEVEC(GPoint5);
END;
IF DefGads6 > 0 THEN
DO;
IF DefGads6 > 1 THEN
CALL UP_Prefs_schreiben;
CALL FREEGADGETS(conxgad6);
CALL FREETHIS(newgadx6);
CALL FREEVEC(GPoint6);
END;
CALL FREEVISUALINFO(scrvinfo);
CALL UNLOCKPUBSCREEN(null(),scr);
END;
CALL remlib('rexxreqtools.library');
CALL remlib('apig.library');
CALL remlib('rexxsupport.library');
address COMMAND 'avail >NIL: flush'
EXIT;
/* Unterprogramm zum Einlesen der Einstellungen (Prefs.dat) */
UP_Prefs_lesen:
Prefs_datei = "Prefs.dat";
IF OPEN(P_dat,Prefs_datei,'read') THEN
DO;
MWSt_Satz.1 = READLN(P_dat);
MWSt_Satz.2 = READLN(P_dat);
AnzeigePGM = READLN(P_dat);
Druckport = READLN(P_dat);
D_XAbst = READLN(P_dat);
D_YAbst = READLN(P_dat);
D_Durch = READLN(P_dat);
IF EOF(P_dat) THEN
D_Durch = "J";
CLOSE(P_dat);
END;
ELSE
DO;
MWSt_Satz.1 = 15.0;
MWSt_Satz.2 = 7.0;
AnzeigePGM = "SYS:SYSTEM/MultiView";
Druckport = "PRT:";
D_XAbst = 1;
D_YAbst = 1;
D_Durch = "J";
END;
MWSt_Rech.1 = MWSt_Satz.1 / (100 + MWSt_Satz.1);
MWSt_Rech.2 = MWSt_Satz.2 / (100 + MWSt_Satz.2);
MWSt_Rech.3 = 0;
RETURN;
/* Unterprogramm zum Schreiben der Einstellungen (Prefs) */
UP_Prefs_schreiben:
IF OPEN(P_dat,Prefs_datei,'write') THEN
DO;
Schr_Text = MWSt_Satz.1||LF||MWSt_Satz.2||LF||AnzeigePGM||LF||Druckport||LF||D_XAbst||LF||D_YAbst||LF||D_Durch||LF;
WRITECH(P_dat,Schr_Text);
CLOSE(P_dat);
END;
RETURN;
/* Unterprogramm zum Einlesen der Kundenliste (Kunden.dat) */
UP_Kund_lesen:
K_datei = "Kunden.dat";
K_max = 0;
IF OPEN(K_dat,K_datei,'read') THEN
DO;
FI_VorName = READLN(K_dat);
FI_Name = READLN(K_dat);
FI_Strasse = READLN(K_dat);
FI_PLZ = READLN(K_dat);
FI_ORT = READLN(K_dat);
FI_Land = READLN(K_dat);
FI_GebTag = READLN(K_dat);
FI_Rabatt = READLN(K_dat);
FI_Tel = READLN(K_dat);
FI_Fax = READLN(K_dat);
FI_Dfue = READLN(K_dat);
FI_EMail1 = READLN(K_dat);
FI_EMail2 = READLN(K_dat);
FI_EMail3 = READLN(K_dat);
FI_Anrede = READLN(K_dat);
FI_BAnr = READLN(K_dat);
FI_Komm = READLN(K_dat);
FI_BLZ = READLN(K_dat);
FI_BankBez = READLN(K_dat);
FI_BankKurz = READLN(K_dat);
FI_Konto = READLN(K_dat);
DO forever;
K_max = K_max + 1;
i = right(("000000" || K_max),6);
KD_VorName.i = READLN(K_dat);
IF EOF(K_dat) THEN LEAVE;
KD_Name.i = READLN(K_dat);
KD_Strasse.i = READLN(K_dat);
KD_PLZ.i = READLN(K_dat);
KD_ORT.i = READLN(K_dat);
KD_Land.i = READLN(K_dat);
KD_GebTag.i = READLN(K_dat);
KD_Rabatt.i = READLN(K_dat);
KD_Tel.i = READLN(K_dat);
KD_Fax.i = READLN(K_dat);
KD_Dfue.i = READLN(K_dat);
KD_EMail1.i = READLN(K_dat);
KD_EMail2.i = READLN(K_dat);
KD_EMail3.i = READLN(K_dat);
KD_Anrede.i = READLN(K_dat);
KD_BAnr.i = READLN(K_dat);
KD_Komm.i = READLN(K_dat);
KD_BLZ.i = READLN(K_dat);
KD_BankBez.i = READLN(K_dat);
KD_BankKurz.i = READLN(K_dat);
KD_Konto.i = READLN(K_dat);
END;
CLOSE(K_dat);
END;
ELSE
K_max = 1;
CALL UP_K_max_init;
RETURN;
UP_K_max_init:
i = right(("000000" || K_max),6);
K_max = i;
KD_VorName.i = "";
KD_Name.i = "";
KD_Strasse.i = "";
KD_PLZ.i = "";
KD_ORT.i = "";
KD_Land.i = "";
KD_GebTag.i = "";
KD_Rabatt.i = "";
KD_Tel.i = "";
KD_Fax.i = "";
KD_Dfue.i = "";
KD_EMail1.i = "";
KD_EMail2.i = "";
KD_EMail3.i = "";
KD_Anrede.i = "";
KD_BAnr.i = "";
KD_Komm.i = "";
KD_BLZ.i = "";
KD_BankBez.i = "";
KD_BankKurz.i = "";
KD_Konto.i = "";
RETURN;
/* Unterprogramm zum schreiben der Kundenliste (Kunden.dat) */
UP_Kund_schreiben:
IF OPEN(K_dat,K_datei,'write') THEN
DO;
Schr_Text = FI_VorName||LF||FI_Name||LF||FI_Strasse||LF||FI_PLZ||LF||FI_Ort||LF||FI_Land||LF||FI_GebTag||LF||FI_Rabatt||LF||FI_Tel||LF;
Schr_Text = Schr_Text||FI_Fax||LF||FI_Dfue||LF||FI_EMail1||LF||FI_EMail2||LF||FI_EMail3||LF||FI_Anrede||LF||FI_BAnr||LF||FI_Komm||LF;
Schr_Text = Schr_Text||FI_BLZ||LF||FI_BankBez||LF||FI_BankKurz||LF||FI_Konto||LF;
WRITECH(K_dat,Schr_Text);
DO k = 1 to (K_max - 1);
i = right(("000000" || k),6);
Schr_Text = KD_VorName.i||LF||KD_Name.i||LF||KD_Strasse.i||LF||KD_PLZ.i||LF||KD_Ort.i||LF||KD_Land.i||LF||KD_GebTag.i||LF;
Schr_Text = Schr_Text||KD_Rabatt.i||LF||KD_Tel.i||LF||KD_Fax.i||LF||KD_Dfue.i||LF||KD_EMail1.i||LF||KD_EMail2.i||LF||KD_EMail3.i||LF;
Schr_Text = Schr_Text||KD_Anrede.i||LF||KD_BAnr.i||LF||KD_Komm.i||LF||KD_BLZ.i||LF||KD_BankBez.i||LF||KD_BankKurz.i||LF||KD_Konto.i||LF;
WRITECH(K_dat,Schr_Text);
END;
CLOSE(K_dat);
END;
RETURN;
/* Unterprogramm zum Einlesen der Artikelliste (Artikel.dat) */
UP_Artikel_lesen:
A_datei = "Artikel.dat"
A_max = 0;
IF OPEN(A_dat,A_datei,'read') THEN
DO forever;
A_max = A_max + 1;
i = right(("000000" || A_max),6);
AR_ArtBez.i = READLN(A_dat);
IF EOF(A_dat) THEN LEAVE;
AR_ArtPreis.i = READLN(A_dat);
AR_ArtBuch.i = READLN(A_dat);
AR_ArtMWST.i = READLN(A_dat);
END;
ELSE
A_max = 1;
CLOSE(A_dat);
CALL UP_A_max_init;
RETURN;
UP_A_max_init:
i = right(("000000" || A_max),6);
A_max = i;
AR_ArtBez.i = "";
AR_ArtPreis.i = "";
AR_ArtBuch.i = "";
AR_ArtMWST.i = "";
Return;
/* Unterprogramm zum schreiben der Artikelliste (Artikel.dat) */
UP_Artikel_schreiben:
IF OPEN(A_dat,A_datei,'write') THEN
DO k = 1 to (A_max - 1);
i = right(("000000" || k),6);
Schr_Text = AR_ArtBez.i ||LF|| AR_ArtPreis.i ||LF|| AR_ArtBuch.i ||LF|| AR_ArtMWSt.i ||LF;
WRITECH(A_dat,Schr_Text);
END;
CLOSE(A_dat);
RETURN;
/* Unterprogramm zum Einlesen der Rechnungsliste (Rechnung.dat) */
UP_Rechnung_lesen:
R_datei = "Rechnung.dat"
R_max = 0;
IF OPEN(R_dat,R_datei,'read') THEN
DO forever;
R_max = R_max + 1;
i = right(("000000" || R_max),6);
RE_Kunde.i = READLN(R_dat);
IF EOF(R_dat) THEN LEAVE;
RE_Datum.i = READLN(R_dat);
DO j = 1 to 13;
RE_Art.j.i = READLN(R_dat);
RE_Anz.j.i = READLN(R_dat);
END;
RE_Mahnung.i = READLN(R_dat);
END;
ELSE
R_max = 1;
CLOSE(R_dat);
CALL UP_Rech_Max_init;
RETURN;
UP_Rech_Max_init:
i = right(("000000" || R_max),6);
R_max = i;
RE_Kunde.i = "";
RE_Datum.i = datum;
DO j = 1 to 13;
RE_Art.j.i = "";
RE_Anz.j.i = "";
END;
RE_Mahnung.i = "";
RETURN
/* Unterprogramm zum schreiben der Rechnungsliste (Rechnung.dat) */
UP_Rechnung_schreiben:
IF OPEN(R_dat,R_datei,'write') THEN
DO k = 1 to (R_max - 1);
i = right(("000000" || k),6);
Schr_Text = RE_Kunde.i||LF||RE_Datum.i||LF;
DO j = 1 to 13;
Schr_Text = Schr_Text||RE_Art.j.i||LF||RE_Anz.j.i||LF;
END;
Schr_Text = Schr_Text||RE_Mahnung.i||LF;
WRITECH(R_dat,Schr_Text);
END;
CLOSE(R_dat);
RETURN;
DefineGads1:
scr = LOCKPUBSCREEN("Workbench");
scrvinfo = GETVISUALINFO(scr);
scrfont = GETVALUE(scr,40,4,'p');
GPoint = ALLOCVEC(4,MEMF_CLEAR);
conxgad = CREATECONTEXT(GPoint);
PreGad = conxgad;
newgadx = MAKENEWGADGET(scrvinfo,scrfont,Font_X,Font_Y,26*Font_X,1.5*Font_Y,"Adressverwaltung",PLACETEXT_IN,10,null());
PreGad = CREATEGADGET(BUTTON_KIND,PreGad,newgadx,TAG_DONE,0);
call SETNEWGADGET(newgadx,scrvinfo,scrfont,Font_X,3*Font_Y,26*Font_X,1.5*Font_Y,"Artikelverwaltung",PLACETEXT_IN,12,null());
PreGad = CREATEGADGET(BUTTON_KIND,PreGad,newgadx,TAG_DONE,0);
call SETNEWGADGET(newgadx,scrvinfo,scrfont,Font_X,5*Font_Y,26*Font_X,1.5*Font_Y,"Rechnungsverwaltung",PLACETEXT_IN,13,null());
PreGad = CREATEGADGET(BUTTON_KIND,PreGad,newgadx,TAG_DONE,0);
call SETNEWGADGET(newgadx,scrvinfo,scrfont,Font_X,7*Font_Y,26*Font_X,1.5*Font_Y,"Drucken",PLACETEXT_IN,14,null());
PreGad = CREATEGADGET(BUTTON_KIND,PreGad,newgadx,TAG_DONE,0);
call SETNEWGADGET(newgadx,scrvinfo,scrfont,Font_X,9*Font_Y,26*Font_X,1.5*Font_Y,"Prefs",PLACETEXT_IN,15,null());
PreGad = CREATEGADGET(BUTTON_KIND,PreGad,newgadx,TAG_DONE,0);
call SETNEWGADGET(newgadx,scrvinfo,scrfont,7*Font_X,14*Font_Y,15*Font_X,1.5*Font_Y,"Ende",PLACETEXT_IN,17,null());
PreGad = CREATEGADGET(BUTTON_KIND,PreGad,newgadx,TAG_DONE,0);
RETURN;
DefineGads2:
GPoint2 = ALLOCVEC(4,MEMF_CLEAR);
conxgad2 = CREATECONTEXT(GPoint2);
PreGad2 = conxgad2;
newgadx2 = MAKENEWGADGET(scrvinfo,scrfont,Font_X,Font_Y,2*Font_X,1.5*Font_Y,"K",PLACETEXT_IN,10,null());
PreGad2 = CREATEGADGET(BUTTON_KIND,PreGad2,newgadx2,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,14*Font_X,Font_Y,10*Font_X,1.5*Font_Y,"Kundennr:",PLACETEXT_LEFT,11,null());
PreGad2 = CREATEGADGET(STRING_KIND,PreGad2,newgadx2,GTST_MAXCHARS,6,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,35*Font_X,Font_Y,18*Font_X,1.5*Font_Y,"Vorname:",PLACETEXT_LEFT,12,null());
PreGad2 = CREATEGADGET(STRING_KIND,PreGad2,newgadx2,GTST_MAXCHARS,25,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,60*Font_X,Font_Y,18*Font_X,1.5*Font_Y,"Name:",PLACETEXT_LEFT,13,null());
PreGad2 = CREATEGADGET(STRING_KIND,PreGad2,newgadx2,GTST_MAXCHARS,25,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,7*Font_X,3*Font_Y,7*Font_X,1.5*Font_Y,"PLZ:",PLACETEXT_LEFT,14,null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,21*Font_X,3*Font_Y,24*Font_X,1.5*Font_Y,"Ort:",PLACETEXT_LEFT,15,null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,54*Font_X,3*Font_Y,24*Font_X,1.5*Font_Y,"Straße:",PLACETEXT_LEFT,16,null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
DO I = 1 TO I_max;
CALL SETNEWGADGET(newgadx2,scrvinfo,scrfont,1.5*Font_X,(1.7*i+4)*Font_Y,2*Font_X,1.5*Font_Y,"A",PLACETEXT_IN,10+(10*i),null());
PreGad2 = CREATEGADGET(BUTTON_KIND,PreGad2,newgadx2,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,5*Font_X,(1.7*i+4)*Font_Y,9*Font_X,1.5*Font_Y,"",PLACETEXT_LEFT,10+(10*i+1),null());
PreGad2 = CREATEGADGET(STRING_KIND,PreGad2,newgadx2,GTST_MAXCHARS,6,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,14.5*Font_X,(1.7*i+4)*Font_Y,7.4*Font_X,1.5*Font_Y,"",PLACETEXT_LEFT,10+(10*i+2),null());
PreGad2 = CREATEGADGET(STRING_KIND,PreGad2,newgadx2,GTST_MAXCHARS,10,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,22*Font_X,(1.7*i+4)*Font_Y,31.5*Font_X,1.5*Font_Y,"",PLACETEXT_LEFT,10+(10*i+3),null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,54*Font_X,(1.7*i+4)*Font_Y,11*Font_X,1.5*Font_Y,"",PLACETEXT_LEFT,10+(10*i+4),null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,66*Font_X,(1.7*i+4)*Font_Y,11*Font_X,1.5*Font_Y,"",PLACETEXT_LEFT,10+(10*i+5),null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
END;
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,8.5*Font_X,(1.7*I_max+6)*Font_Y,11*Font_X,1.5*Font_Y,"Datum:",PLACETEXT_LEFT,150,null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,28.75*Font_X,(1.7*I_max+6)*Font_Y,10*Font_X,1.5*Font_Y,"Rabatt:",PLACETEXT_LEFT,151,null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,45.75*Font_X,(1.7*I_max+6)*Font_Y,10*Font_X,1.5*Font_Y,"MWSt:",PLACETEXT_LEFT,152,null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,66*Font_X,(1.7*I_max+6)*Font_Y,11*Font_X,1.5*Font_Y,"Endsumme:",PLACETEXT_LEFT,153,null());
PreGad2 = CREATEGADGET(TEXT_KIND,PreGad2,newgadx2,GTTX_BORDER,1,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,12*Font_X,(1.7*I_max+9)*Font_Y,10*Font_X,1.5*Font_Y,"Rechnung:",PLACETEXT_LEFT,160,null());
PreGad2 = CREATEGADGET(STRING_KIND,PreGad2,newgadx2,GTST_MAXCHARS,6,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,33*Font_X,(1.7*I_max+9)*Font_Y,8*Font_X,1.5*Font_Y,">",PLACETEXT_IN,161,null());
PreGad2 = CREATEGADGET(BUTTON_KIND,PreGad2,newgadx2,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,24*Font_X,(1.7*I_max+9)*Font_Y,8*Font_X,1.5*Font_Y,"<",PLACETEXT_IN,162,null());
PreGad2 = CREATEGADGET(BUTTON_KIND,PreGad2,newgadx2,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,42.5*Font_X,(1.7*I_max+9)*Font_Y,8*Font_X,1.5*Font_Y,"Ende",PLACETEXT_IN,163,null());
PreGad2 = CREATEGADGET(BUTTON_KIND,PreGad2,newgadx2,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,52*Font_X,(1.7*I_max+9)*Font_Y,8*Font_X,1.5*Font_Y,"Drucken",PLACETEXT_IN,164,null());
PreGad2 = CREATEGADGET(BUTTON_KIND,PreGad2,newgadx2,TAG_DONE,0);
call SETNEWGADGET(newgadx2,scrvinfo,scrfont,61*Font_X,(1.7*I_max+9)*Font_Y,16*Font_X,1.5*Font_Y,"Verwerfen",PLACETEXT_IN,165,null());
PreGad2 = CREATEGADGET(BUTTON_KIND,PreGad2,newgadx2,TAG_DONE,0);
RETURN;
DefineGads3:
GPoint3 = ALLOCVEC(4,MEMF_CLEAR);
conxgad3 = CREATECONTEXT(GPoint3);
PreGad3 = conxgad3;
mylabels = make_labels();
newgadx3 = MAKENEWGADGET(scrvinfo,scrfont,1*Font_X,2*Font_Y,12*Font_X,1.5*Font_Y,"Rechnung:",PLACETEXT_ABOVE,10,null());
PreGad3 = CREATEGADGET(STRING_KIND,PreGad3,newgadx3,GTST_MAXCHARS,6,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,1*Font_X,6*Font_Y,12*Font_X,1.5*Font_Y,"Kunde:",PLACETEXT_ABOVE,11,null());
PreGad3 = CREATEGADGET(STRING_KIND,PreGad3,newgadx3,GTST_MAXCHARS,6,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,1*Font_X,9.5*Font_Y,12*Font_X,1.5*Font_Y,"Drucken ->",PLACETEXT_ABOVE,12,null());
PreGad3 = CREATEGADGET(CYCLE_KIND,PreGad3,newgadx3,GTCY_LABELS,mylabels,GTCY_Active,0,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,1*Font_X,12*Font_Y,12*Font_X,1.5*Font_Y,"Prefs",PLACETEXT_IN,13,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,1*Font_X,14.5*Font_Y,12*Font_X,1.5*Font_Y,"Verz.",PLACETEXT_IN,14,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,15.5*Font_X,Font_Y,12.5*Font_X,1.5*Font_Y,"Rechnung",PLACETEXT_IN,15,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,15.5*Font_X,3*Font_Y,12.5*Font_X,1.5*Font_Y,"Paketkarte",PLACETEXT_IN,16,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,15.5*Font_X,5*Font_Y,12.5*Font_X,1.5*Font_Y,"Zahlschein",PLACETEXT_IN,17,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,15.5*Font_X,7*Font_Y,12.5*Font_X,1.5*Font_Y,"Mahnung",PLACETEXT_IN,18,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,15.5*Font_X,9*Font_Y,12.5*Font_X,1.5*Font_Y,"Etikett",PLACETEXT_IN,19,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,15.5*Font_X,11*Font_Y,12.5*Font_X,1.5*Font_Y,"Umschlag",PLACETEXT_IN,20,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,15.5*Font_X,13*Font_Y,12.5*Font_X,1.5*Font_Y,"Art. Liste",PLACETEXT_IN,21,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,30*Font_X,Font_Y,12.5*Font_X,1.5*Font_Y,"Adressliste",PLACETEXT_IN,22,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
call SETNEWGADGET(newgadx3,scrvinfo,scrfont,30*Font_X,3*Font_Y,12.5*Font_X,1.5*Font_Y,"Umsatzliste",PLACETEXT_IN,23,null());
PreGad3 = CREATEGADGET(BUTTON_KIND,PreGad3,newgadx3,TAG_DONE,0);
RETURN;
make_labels:
ltxt.1 = "Drucker";
ltxt.2 = "Datei";
ltxt.3 = "Vorschau";
mlabels = MAKEPOINTER(0,0,16,MEMF_CLEAR);
DO x = 1 to 3;
lbuf = MAKEPOINTER(mlabels,0,length(ltxt.x)+2,MEMF_CLEAR);
CALL export(lbuf,ltxt.x);
CALL SETVALUE(mlabels,(x-1)*4,4,'p',lbuf);
END;
RETURN mlabels;
DefineGads4:
GPoint4 = ALLOCVEC(4,MEMF_CLEAR);
conxgad4 = CREATECONTEXT(GPoint4);
PreGad4 = conxgad4;
Kundlabels = make_labels2();
newgadx4 = MAKENEWGADGET(scrvinfo,scrfont,12*Font_X,1*Font_Y,26*Font_X,1.5*Font_Y,"Vorname :",PLACETEXT_LEFT,10,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,25,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,51*Font_X,1*Font_Y,26*Font_X,1.5*Font_Y,"Name :",PLACETEXT_LEFT,11,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,25,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,3*Font_Y,26*Font_X,1.5*Font_Y,"Straße :",PLACETEXT_LEFT,12,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,25,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,51*Font_X,3*Font_Y,8*Font_X,1.5*Font_Y,"PLZ :",PLACETEXT_LEFT,13,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,5,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,5*Font_Y,26*Font_X,1.5*Font_Y,"Ort :",PLACETEXT_LEFT,14,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,25,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,51*Font_X,5*Font_Y,26*Font_X,1.5*Font_Y,"Land :",PLACETEXT_LEFT,15,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,20,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,7*Font_Y,12*Font_X,1.5*Font_Y,"Geburtst.:",PLACETEXT_LEFT,16,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,10,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,51*Font_X,7*Font_Y,20*Font_X,1.5*Font_Y,"Telefon :",PLACETEXT_LEFT,17,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,15,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,9*Font_Y,20*Font_X,1.5*Font_Y,"Fax :",PLACETEXT_LEFT,18,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,15,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,51*Font_X,9*Font_Y,20*Font_X,1.5*Font_Y,"DFÜ :",PLACETEXT_LEFT,19,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,15,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,11*Font_Y,20*Font_X,1.5*Font_Y,"EMail1 :",PLACETEXT_LEFT,20,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,30,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,51*Font_X,11*Font_Y,20*Font_X,1.5*Font_Y,"EMail2 :",PLACETEXT_LEFT,21,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,30,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,13*Font_Y,20*Font_X,1.5*Font_Y,"EMail3 :",PLACETEXT_LEFT,22,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,30,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,51*Font_X,13*Font_Y,26*Font_X,1.5*Font_Y,"Anrede :",PLACETEXT_LEFT,23,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,25,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,15*Font_Y,65*Font_X,1.5*Font_Y,"BriefAn :",PLACETEXT_LEFT,24,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,40,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,17*Font_Y,65*Font_X,1.5*Font_Y,"Kommentar:",PLACETEXT_LEFT,25,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,80,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,19*Font_Y,65*Font_X,1.5*Font_Y,"Bank :",PLACETEXT_LEFT,26,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,40,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,21*Font_Y,20*Font_X,1.5*Font_Y,"BLZ :",PLACETEXT_LEFT,27,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,15,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,51*Font_X,21*Font_Y,20*Font_X,1.5*Font_Y,"Konto :",PLACETEXT_LEFT,28,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,15,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,12*Font_X,23*Font_Y,20*Font_X,1.5*Font_Y,"Bankkurz :",PLACETEXT_LEFT,29,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,15,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,51*Font_X,23*Font_Y,5*Font_X,1.5*Font_Y,"Rabatt :",PLACETEXT_LEFT,30,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,2,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,13.5*Font_X,26*Font_Y,16*Font_X,1.5*Font_Y,"Bearbeiten:",PLACETEXT_LEFT,40,null());
PreGad4 = CREATEGADGET(CYCLE_KIND,PreGad4,newgadx4,GTCY_LABELS,Kundlabels,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,40*Font_X,26*Font_Y,32*Font_X,1.5*Font_Y,"Suche :",PLACETEXT_LEFT,41,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,30,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,73*Font_X,26*Font_Y,4*Font_X,1.5*Font_Y,"Cal",PLACETEXT_IN,42,null());
PreGad4 = CREATEGADGET(BUTTON_KIND,PreGad4,newgadx4,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,15*Font_X,28*Font_Y,9*Font_X,1.5*Font_Y,"Kund/Lief :",PLACETEXT_LEFT,43,null());
PreGad4 = CREATEGADGET(STRING_KIND,PreGad4,newgadx4,GTST_MAXCHARS,6,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,35*Font_X,28*Font_Y,9*Font_X,1.5*Font_Y,">",PLACETEXT_IN,44,null());
PreGad4 = CREATEGADGET(BUTTON_KIND,PreGad4,newgadx4,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,25*Font_X,28*Font_Y,9*Font_X,1.5*Font_Y,"<",PLACETEXT_IN,45,null());
PreGad4 = CREATEGADGET(BUTTON_KIND,PreGad4,newgadx4,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,45*Font_X,28*Font_Y,9*Font_X,1.5*Font_Y,"Ende",PLACETEXT_IN,46,null());
PreGad4 = CREATEGADGET(BUTTON_KIND,PreGad4,newgadx4,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,55*Font_X,28*Font_Y,9*Font_X,1.5*Font_Y,"Drucken",PLACETEXT_IN,47,null());
PreGad4 = CREATEGADGET(BUTTON_KIND,PreGad4,newgadx4,TAG_DONE,0);
call SETNEWGADGET(newgadx4,scrvinfo,scrfont,65*Font_X,28*Font_Y,12*Font_X,1.5*Font_Y,"Verwerfen",PLACETEXT_IN,48,null());
PreGad4 = CREATEGADGET(BUTTON_KIND,PreGad4,newgadx4,TAG_DONE,0);
RETURN;
make_labels2:
ltxt2.1 = "Kunden";
ltxt2.2 = "Firma";
mlabels2 = MAKEPOINTER(0,0,12,MEMF_CLEAR);
DO x = 1 to 2;
lbuf2 = MAKEPOINTER(mlabels2,0,length(ltxt2.x)+2,MEMF_CLEAR);
CALL export(lbuf2,ltxt2.x);
CALL SETVALUE(mlabels2,(x-1)*4,4,'p',lbuf2);
END;
RETURN mlabels2;
DefineGads5:
GPoint5 = ALLOCVEC(4,MEMF_CLEAR);
conxgad5 = CREATECONTEXT(GPoint5);
PreGad5 = conxgad5;
newgadx5 = MAKENEWGADGET(scrvinfo,scrfont,14*Font_X,Font_Y,62*Font_X,1.5*Font_Y,"Bezeichnung:",PLACETEXT_LEFT,10,null());
PreGad5 = CREATEGADGET(STRING_KIND,PreGad5,newgadx5,GTST_MAXCHARS,30,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,14*Font_X,3*Font_Y,22*Font_X,1.5*Font_Y,"Preis :",PLACETEXT_LEFT,11,null());
PreGad5 = CREATEGADGET(STRING_KIND,PreGad5,newgadx5,GTST_MAXCHARS,10,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,59*Font_X,3*Font_Y,17*Font_X,1.5*Font_Y,"Buchkonto :",PLACETEXT_LEFT,12,null());
PreGad5 = CREATEGADGET(STRING_KIND,PreGad5,newgadx5,GTST_MAXCHARS,10,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,14*Font_X,5*Font_Y,4*Font_X,1.5*Font_Y,"MWSt Kennz.:",PLACETEXT_LEFT,13,null());
PreGad5 = CREATEGADGET(STRING_KIND,PreGad5,newgadx5,GTST_MAXCHARS,1,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,14*Font_X,8*Font_Y,37*Font_X,1.5*Font_Y,"Suche :",PLACETEXT_LEFT,41,null());
PreGad5 = CREATEGADGET(STRING_KIND,PreGad5,newgadx5,GTST_MAXCHARS,30,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,14*Font_X,10*Font_Y,9*Font_X,1.5*Font_Y,"Artikel :",PLACETEXT_LEFT,43,null());
PreGad5 = CREATEGADGET(STRING_KIND,PreGad5,newgadx5,GTST_MAXCHARS,6,u,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,34*Font_X,10*Font_Y,9*Font_X,1.5*Font_Y,">",PLACETEXT_IN,44,null());
PreGad5 = CREATEGADGET(BUTTON_KIND,PreGad5,newgadx5,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,24*Font_X,10*Font_Y,9*Font_X,1.5*Font_Y,"<",PLACETEXT_IN,45,null());
PreGad5 = CREATEGADGET(BUTTON_KIND,PreGad5,newgadx5,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,44*Font_X,10*Font_Y,9*Font_X,1.5*Font_Y,"Ende",PLACETEXT_IN,46,null());
PreGad5 = CREATEGADGET(BUTTON_KIND,PreGad5,newgadx5,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,54*Font_X,10*Font_Y,9*Font_X,1.5*Font_Y,"Drucken",PLACETEXT_IN,47,null());
PreGad5 = CREATEGADGET(BUTTON_KIND,PreGad5,newgadx5,TAG_DONE,0);
call SETNEWGADGET(newgadx5,scrvinfo,scrfont,64*Font_X,10*Font_Y,14*Font_X,1.5*Font_Y,"Verwerfen",PLACETEXT_IN,48,null());
PreGad5 = CREATEGADGET(BUTTON_KIND,PreGad5,newgadx5,TAG_DONE,0);
RETURN;
DefineGads6:
GPoint6 = ALLOCVEC(4,MEMF_CLEAR);
conxgad6 = CREATECONTEXT(GPoint6);
PreGad6 = conxgad6;
mylabels = make_labels();
newgadx6 = MAKENEWGADGET(scrvinfo,scrfont,9*Font_X,Font_Y,12*Font_X,1.5*Font_Y,"MWSt.1:",PLACETEXT_LEFT,10,null());
PreGad6 = CREATEGADGET(STRING_KIND,PreGad6,newgadx6,GTST_MAXCHARS,8,GTST_STRING,MWSt_Satz.1,TAG_DONE,0);
call SETNEWGADGET(newgadx6,scrvinfo,scrfont,9*Font_X,3*Font_Y,12*Font_X,1.5*Font_Y,"MWSt.2:",PLACETEXT_LEFT,11,null());
PreGad6 = CREATEGADGET(STRING_KIND,PreGad6,newgadx6,GTST_MAXCHARS,8,GTST_STRING,MWSt_Satz.2,TAG_DONE,0);
call SETNEWGADGET(newgadx6,scrvinfo,scrfont,1*Font_X,7*Font_Y,6*Font_X,1.5*Font_Y,"Wähle",PLACETEXT_IN,12,null());
PreGad6 = CREATEGADGET(BUTTON_KIND,PreGad6,newgadx6,TAG_DONE,0);
call SETNEWGADGET(newgadx6,scrvinfo,scrfont,7.5*Font_X,7*Font_Y,13.5*Font_X,1.5*Font_Y,"",PLACETEXT_LEFT,13,null());
PreGad6 = CREATEGADGET(TEXT_KIND,PreGad6,newgadx6,GTTX_BORDER,1,TAG_DONE,0);
call SETNEWGADGET(newgadx6,scrvinfo,scrfont,9*Font_X,9*Font_Y,12*Font_X,1.5*Font_Y,"Port: ",PLACETEXT_LEFT,14,null());
PreGad6 = CREATEGADGET(STRING_KIND,PreGad6,newgadx6,GTST_MAXCHARS,8,GTST_STRING,Druckport,TAG_DONE,0);
call SETNEWGADGET(newgadx6,scrvinfo,scrfont,9*Font_X,11*Font_Y,12*Font_X,1.5*Font_Y,"Rand_X:",PLACETEXT_LEFT,15,null());
PreGad6 = CREATEGADGET(STRING_KIND,PreGad6,newgadx6,GTST_MAXCHARS,8,GTST_STRING,D_XAbst,TAG_DONE,0);
call SETNEWGADGET(newgadx6,scrvinfo,scrfont,9*Font_X,13*Font_Y,12*Font_X,1.5*Font_Y,"Rand_Y:",PLACETEXT_LEFT,16,null());
PreGad6 = CREATEGADGET(STRING_KIND,PreGad6,newgadx6,GTST_MAXCHARS,8,GTST_STRING,D_YAbst,TAG_DONE,0);
call SETNEWGADGET(newgadx6,scrvinfo,scrfont,3*Font_X,15*Font_Y,12*Font_X,1.5*Font_Y,"Durchschlag",PLACETEXT_RIGHT,17,null());
IF D_DURCH = "N" THEN
PreGad6 = CREATEGADGET(CHECKBOX_KIND,PreGad6,newgadx6,GTCB_Checked,0,TAG_DONE,0);
ELSE
PreGad6 = CREATEGADGET(CHECKBOX_KIND,PreGad6,newgadx6,GTCB_Checked,1,TAG_DONE,0);
call SETNEWGADGET(newgadx6,scrvinfo,scrfont,5*Font_X,17*Font_Y,12*Font_X,1.5*Font_Y,"Ende",PLACETEXT_IN,18,null());
PreGad6 = CREATEGADGET(BUTTON_KIND,PreGad6,newgadx6,TAG_DONE,0);
RETURN;
UP_Adressen:
IF DefGads4 = 0 THEN
DO;
call DefineGads4;
DefGads4 = 1;
END;
w4 = OPENWINDOW(portname,(Screen_X-Win_X4)/2,(Screen_Y-Win_Y4)/2,Win_X4,Win_Y4,0,1,winidcmp,winflags,wintitle4,scr,0,null(),null(),conxgad4);
rpw4 = GETWINDOWRASTPORT(w4);
CALL DRAWBEVELBOX(rpw4,0.25*Font_X,0.5*Font_Y,78.5*Font_X,24.5*Font_Y,scrvinfo,TAG_DONE,0);
CALL DRAWBEVELBOX(rpw4,0.25*Font_X,25.5*Font_Y,78.5*Font_X,4.5*Font_Y,scrvinfo,TAG_DONE,0);
call GT_REFRESHWINDOW(w4,null());
ZW_Suchen = "";
IF ZW_KundenNr > K_max | ZW_KundenNr < 1 THEN
ZW_KundenNr = K_max;
IF Druckart = ltxt2.2 THEN
CALL UP_Firma_alles;
ELSE
DO;
Druckart = ltxt2.1;
CALL UP_Kunden_alles;
END;
CALL UP_ReErst_fuellen;
extime4 = 0;
apen = 1;
DO WHILE extime4 = 0;
x = waitpkt(portname);
DO FOREVER;
msg4 = getpkt(portname);
IF msg4 = '0000 0000'x THEN LEAVE;
msgclass4= getarg(msg4,0);
msgcode4 = getarg(msg4,1);
msgid4 = getarg(msg4,9);
x = reply(msg4,0);
x = Auswertung4();
END;
END;
CALL CLOSEWINDOW(w4);
RETURN;
UP_Artikel:
IF DefGads5 = 0 THEN
DO;
call DefineGads5;
DefGads5 = 1;
END;
w5 = OPENWINDOW(portname,(Screen_X-Win_X5)/2,(Screen_Y-Win_Y5)/2,Win_X5,Win_Y5,0,1,winidcmp,winflags,wintitle5,scr,0,null(),null(),conxgad5);
rpw5 = GETWINDOWRASTPORT(w5);
CALL DRAWBEVELBOX(rpw5,0.25*Font_X,0.5*Font_Y,78.5*Font_X,6.5*Font_Y,scrvinfo,TAG_DONE,0);
CALL DRAWBEVELBOX(rpw5,0.25*Font_X,7.5*Font_Y,78.5*Font_X,4.5*Font_Y,scrvinfo,TAG_DONE,0);
CALL GT_REFRESHWINDOW(w5,null());
ZW_Suchen = "";
IF ZW_ArtikelNr > A_max | ZW_ArtikelNr < 1 THEN
ZW_ArtikelNr = A_max;
CALL UP_Artikel_alles;
CALL UP_ArtErst_fuellen;
extime5 = 0;
apen = 1;
DO WHILE extime5 = 0;
x = waitpkt(portname);
DO FOREVER;
msg5 = getpkt(portname);
IF msg5 = '0000 0000'x THEN LEAVE;
msgclass5= getarg(msg5,0);
msgcode5 = getarg(msg5,1);
msgid5 = getarg(msg5,9);
x = reply(msg5,0);
x = Auswertung5();
END;
END;
CALL CLOSEWINDOW(w5);
RETURN;
UP_Rechnung:
IF DefGads2 = 0 THEN
DO;
call DefineGads2;
DefGads2 = 1;
END;
w2 = OPENWINDOW(portname,(Screen_X-Win_X2)/2,(Screen_Y-Win_Y2)/2,Win_X2,Win_Y2,0,1,winidcmp,winflags,wintitle2,scr,0,null(),null(),conxgad2);
rpw2 = GETWINDOWRASTPORT(w2);
CALL DRAWBEVELBOX(rpw2,0.25*Font_X,0.5*Font_Y,78.5*Font_X,4.5*Font_Y,scrvinfo,TAG_DONE,0);
CALL DRAWBEVELBOX(rpw2,0.25*Font_X,5.25*Font_Y,78.5*Font_X,((1.7*I_Max)+2.75)*Font_Y,scrvinfo,TAG_DONE,0);
CALL DRAWBEVELBOX(rpw2,0.25*Font_X,((1.7*I_Max)+8.5)*Font_Y,78.5*Font_X,2.5*Font_Y,scrvinfo,TAG_DONE,0);
call GT_REFRESHWINDOW(w2,null());
IF UEB_RechNr > R_max | UEB_RechNr < 1 THEN
UEB_RechNr = R_max;
CALL UP_Rechnung_fuellen;
extime2 = 0;
apen = 1;
DO WHILE extime2 = 0;
x = waitpkt(portname);
DO FOREVER;
msg2 = getpkt(portname);
IF msg2 = '0000 0000'x THEN LEAVE;
msgclass2= getarg(msg2,0);
msgcode2 = getarg(msg2,1);
msgid2 = getarg(msg2,9);
x = reply(msg2,0);
x = Auswertung2();
END;
END;
CALL CLOSEWINDOW(w2);
RETURN;
UP_Drucken:
IF DefGads3 = 0 THEN
DO;
call DefineGads3;
DefGads3 = 1;
END;
w3 = OPENWINDOW(portname,(Screen_X-Win_X3)/2,(Screen_Y-Win_Y3)/2,Win_X3,Win_Y3,0,1,winidcmp,winflags,wintitle3,scr,0,null(),null(),conxgad3);
rpw3 = GETWINDOWRASTPORT(w3);
CALL DRAWBEVELBOX(rpw3,14.5*Font_X,0.5*Font_Y,29*Font_X,15.5*Font_Y,scrvinfo,TAG_DONE,0);
call GT_REFRESHWINDOW(w3,null());
extime3 = 0;
apen = 1;
IF UEB_RechNr > R_max | UEB_RechNr < 1 THEN
UEB_RechNr = "000001";
UEB_RechNr = right("000000" || UEB_RechNr,6);
ZW_KundenNr = RE_Kunde.UEB_RechNr;
DO j = 1 to I_max;
ZW_Art_Nr.j = RE_Art.j.UEB_RechNr
IF ZW_Art_Nr.j > "" THEN
DO;
x = ZW_Art_Nr.j;
ZW_Bez.j = AR_ArtBez.x;
ZW_EPreis.j = AR_ArtPreis.x;
ZW_Art_Anz.j = RE_Anz.j.UEB_RechNr;
END;
ELSE
DO;
ZW_Bez.j = "";
ZW_EPreis.j = "";
ZW_Art_Anz.j = "";
END;
END;
ZW_Datum = RE_Datum.UEB_RechNr;
CALL SETSTRGADID(w3,10,UEB_RechNr,null());
CALL SETSTRGADID(w3,11,ZW_KundenNr,null());
REFRESHGLIST(conxgad3,w3,null(),-1);
Druckverz = "ram:";
IF Druckart ~= ltxt.2 THEN
Druckart = ltxt.1
DO WHILE extime3 = 0;
x = waitpkt(portname);
DO FOREVER;
msg3 = getpkt(portname);
IF msg3 = '0000 0000'x THEN LEAVE;
msgclass3= getarg(msg3,0);
msgcode3 = getarg(msg3,1);
msgid3 = getarg(msg3,9);
x = reply(msg3,0);
x = Auswertung3();
END;
END;
CALL CLOSEWINDOW(w3);
RETURN;
UP_Prefs:
IF DefGads6 = 0 THEN
DO;
call DefineGads6;
DefGads6 = 2;
END;
w6 = OPENWINDOW(portname,(Screen_X-Win_X6)/2,(Screen_Y-Win_Y6)/2,Win_X6,Win_Y6,0,1,winidcmp,winflags,wintitle6,scr,0,null(),null(),conxgad6);
rpw6 = GETWINDOWRASTPORT(w6);
CALL pitext(rpw6,Font_X,5.5*Font_Y,"Anzeigeprogramm:",apen,0,jam2,scrfont);
CALL pitext(rpw6,7.8*Font_X,7.2*Font_Y,right(AnzeigePGM,12),apen,0,jam2,scrfont);
call GT_REFRESHWINDOW(w6,null());
extime6 = 0;
apen = 1;
DO WHILE extime6 = 0;
x = waitpkt(portname);
DO FOREVER;
msg6 = getpkt(portname);
IF msg6 = '0000 0000'x THEN LEAVE;
msgclass6= getarg(msg6,0);
msgcode6 = getarg(msg6,1);
msgid6 = getarg(msg6,9);
x = reply(msg6,0);
x = Auswertung6();
END;
END;
CALL CLOSEWINDOW(w6);
RETURN;
UP_Rechnung_fuellen:
UEB_RechNr = right("000000" || UEB_RechNr,6);
ZW_KundenNr = RE_Kunde.UEB_RechNr;
CALL UP_Kunden_Fuellen;
DO j = 1 to I_max;
ZW_Art_Nr.j = RE_Art.j.UEB_RechNr
IF ZW_Art_Nr.j > "" THEN
DO;
x = ZW_Art_Nr.j;
ZW_Bez.j = AR_ArtBez.x;
ZW_EPreis.j = AR_ArtPreis.x;
ZW_Art_Anz.j = RE_Anz.j.UEB_RechNr;
END;
ELSE
DO;
ZW_Bez.j = "";
ZW_EPreis.j = "";
ZW_Art_Anz.j = "";
END;
CALL SETSTRGADID(w2,(j*10+11),ZW_Art_Nr.j,null());
CALL SETSTRGADID(w2,(j*10+12),ZW_Art_Anz.j,null());
CALL pitext(rpw2,22.5*Font_X,(1.7*j+4.2)*Font_Y,left(ZW_Bez.j,30),apen,0,jam2,scrfont);
CALL pitext(rpw2,54.5*Font_X,(1.7*j+4.2)*Font_Y,right(ZW_EPreis.j,10),apen,0,jam2,scrfont);
END;
ZW_Datum = RE_Datum.UEB_RechNr;
CALL pitext(rpw2,9*Font_X,(1.7*I_max+6.2)*Font_Y,left(ZW_Datum,10),apen,0,jam2,scrfont);
CALL SETSTRGADID(w2,160,UEB_RechNr,null());
CALL UP_B_Berechnung;
REFRESHGLIST(conxgad2,w2,null(),-1);
RETURN;
UP_Kunden_Fuellen:
IF ZW_KundenNr > 0 THEN
DO;
ZW_Kunden_VorName = KD_VorName.ZW_KundenNr;
ZW_Kunden_Name = KD_Name.ZW_KundenNr;
ZW_PLZ = KD_PLZ.ZW_KundenNr;
ZW_Ort = KD_Ort.ZW_KundenNr;
ZW_Strasse = KD_Strasse.ZW_KundenNr;
END;
ELSE
DO;
ZW_KundenNr = "";
ZW_Kunden_VorName = "";
ZW_Kunden_Name = "";
ZW_PLZ = "";
ZW_Ort = "";
ZW_Strasse = "";
END;
CALL SETSTRGADID(w2,11,ZW_KundenNr,null());
CALL SETSTRGADID(w2,12,ZW_Kunden_VorName,null());
CALL SETSTRGADID(w2,13,ZW_Kunden_Name,null());
CALL pitext(rpw2,7.5*Font_X,3.2*Font_Y,LEFT(ZW_PLZ,5),apen,0,jam2,scrfont);
CALL pitext(rpw2,21.5*Font_X,3.2*Font_Y,LEFT(ZW_Ort,22),apen,0,jam2,scrfont);
CALL pitext(rpw2,54.5*Font_X,3.2*Font_Y,LEFT(ZW_Strasse,22),apen,0,jam2,scrfont);
RETURN;
UP_B_Berechnung:
ZW_MWSt = 0;
ZW_Endsumme = 0;
ZW_Rab = 0;
ZW_KundenNr = GETSTRGAD(w2,(11),null());
ZW_Rabatt = KD_Rabatt.ZW_KundenNr;
IF DATATYPE(ZW_Rabatt,'w') THEN
ZW_Rabatt = ZW_Rabatt / 100;
ELSE
ZW_Rabatt = 0;
DO j = 1 to I_Max;
ZW_Art_Nr = GETSTRGAD(w2,(11+(10*j)),null());
ZW_Menge = GETSTRGAD(w2,(12+(10*j)),null());
IF ZW_Art_Nr > 0 & ZW_Menge > 0 THEN
DO;
ZW_Summe.j = (ZW_EPreis.j * ZW_Menge) + 0.005;
IF ZW_Summe.j < 0 THEN
ZW_Summe.j = ZW_Summe.j - 0.01;
ZW_Summe.j = trunc(ZW_Summe.j,2);
ZW_Rab = ZW_Rab + (ZW_Summe.j * ZW_Rabatt);
ZW_Summe.j = right(ZW_Summe.j,10);
ZW_Endsumme = ZW_Endsumme + ZW_Summe.j;
i = AR_ArtMWSt.ZW_Art_Nr;
ZW_MWSt = ZW_MWSt + ((ZW_Summe.j - (ZW_Summe.j * ZW_Rabatt)) * MWSt_Rech.i);
END;
ELSE
ZW_Summe.j = "";
CALL pitext(rpw2,66.5*Font_X,(1.7*j+4.2)*Font_Y,right(ZW_Summe.j,10),apen,0,jam2,scrfont);
END;
ZW_Endsumme = trunc(ZW_Endsumme - ZW_Rab + 0.005,2);
ZW_Rab = trunc(ZW_Rab + 0.005,2);
ZW_MWSt = trunc(ZW_MWSt + 0.005,2);
CALL pitext(rpw2,66.5*Font_X,(1.7*I_max+6.2)*Font_Y,right(ZW_Endsumme,10),apen,0,jam2,scrfont);
CALL pitext(rpw2,29.25*Font_X,(1.7*I_max+6.2)*Font_Y,right(ZW_Rab,9),apen,0,jam2,scrfont);
CALL pitext(rpw2,46.25*Font_X,(1.7*I_max+6.2)*Font_Y,right(ZW_MWSt,9),apen,0,jam2,scrfont);
RETURN;
Auswertung2:
SELECT
WHEN msgcode2 = 75 | msgcode2 = 107 THEN
ACTIVATEGADID(11,w2,null());
WHEN msgcode2 = 86 | msgcode2 = 118 THEN
ACTIVATEGADID(12,w2,null());
WHEN msgcode2 = 78 | msgcode2 = 110 THEN
ACTIVATEGADID(13,w2,null());
WHEN msgcode2 = 82 | msgcode2 = 114 THEN
ACTIVATEGADID(160,w2,null());
WHEN msgid2 = 10 | msgcode2 = 76 | msgcode2 = 108 THEN
DO;
CALL UP_Adressen;
IF ZW_KundenNr = K_max THEN
ZW_KundenNr = K_max - 1;
CALL UP_Kunden_Fuellen;
CALL UP_B_Berechnung;
REFRESHGLIST(conxgad2,w2,null(),-1);
END;
WHEN msgid2 = 11 THEN
DO;
Test = GETSTRGAD(w2,msgid2,null());
IF Test ~= ZW_KundenNr THEN
DO;
ZW_KundenNr = TEST;
IF DATATYPE(ZW_KundenNr,'w') THEN
DO;
IF ZW_KundenNr = K_max THEN
ZW_KundenNr = K_max - 1;
ZW_KundenNr = RIGHT("000000" || ZW_KundenNr,6);
ACTIVATEGADID(21,w2,null());
END;
ELSE
DO;
rtezrequest("Kundennummer nicht numerisch!",,,ReqCent);
ZW_KundenNr = "000001";
ACTIVATEGADID(11,w2,null());
END;
CALL UP_Kunden_Fuellen;
CALL UP_B_Berechnung;
REFRESHGLIST(conxgad2,w2,null(),-1);
END;
END;
WHEN msgid2 = 12 THEN
DO;
Test = GETSTRGAD(w2,msgid2,null());
IF Test ~= ZW_Kunden_VorName THEN
DO;
ZW_Kunden_VorName = Test;
DO I = 1 to K_max;
I = RIGHT("000000" || I,6);
IF POS(UPPER(ZW_Kunden_VorName),UPPER(KD_VorName.I)) THEN
DO;
ZW_KundenNr = I;
I = K_max + 5;
ACTIVATEGADID(21,w2,null());
END;
END;
IF I < (K_max + 5) THEN
DO;
rtezrequest("Kein Kunde mit diesem Vornamen vorhanden!",,,ReqCent);
ZW_KundenNr = GETSTRGAD(w2,11,null());
IF ZW_KundenNr = "" THEN
ZW_KundenNr = "000001";
ACTIVATEGADID(12,w2,null());
END;
CALL UP_Kunden_Fuellen;
CALL UP_B_Berechnung;
REFRESHGLIST(conxgad2,w2,null(),-1);
END;
END;
WHEN msgid2 = 13 THEN
DO;
Test = GETSTRGAD(w2,13,null());
IF Test ~= ZW_Kunden_Name THEN
DO;
ZW_Kunden_Name = Test;
DO I = 1 to K_max;
I = RIGHT("000000" || I,6);
IF POS(UPPER(ZW_Kunden_Name),UPPER(KD_Name.I)) THEN
DO;
ZW_KundenNr = I;
ACTIVATEGADID(21,w2,null());
I = K_max + 5;
END;
END;
IF I < (K_max + 5) THEN
DO;
rtezrequest("Kein Kunde mit diesem Familiennamen vorhanden!",,,ReqCent);
ZW_KundenNr = GETSTRGAD(w2,11,null());
IF ZW_KundenNr = "" THEN
ZW_KundenNr = "000001";
ACTIVATEGADID(13,w2,null());
END;
CALL UP_Kunden_Fuellen;
CALL UP_B_Berechnung;
REFRESHGLIST(conxgad2,w2,null(),-1);
END;
END;
WHEN msgid2 = 20 | msgid2 = 30 | msgid2 = 40 | msgid2 = 50 | msgid2 = 60 |,
msgid2 = 70 | msgid2 = 80 | msgid2 = 90 | msgid2 =100 | msgid2 =110 |,
msgid2 =120 | msgid2 =130 | msgid2 =140 THEN
DO;
CALL UP_Artikel;
i = (msgid2 - 10) / 10;
ZW_Art_Nr.i = ZW_ArtikelNr;
IF ZW_Art_Nr.i = A_max THEN
ZW_Art_Nr.i = "000000" ||(A_max - 1);
ZW_Art_Nr.i = right(ZW_Art_Nr.i,6);
Test = ZW_Art_Nr.i;
ZW_EPreis.i = RIGHT(AR_ArtPreis.Test,9);
ZW_Bez.i = AR_ArtBez.Test;
CALL SETSTRGADID(w2,msgid2+1,ZW_Art_Nr.i,null());
CALL pitext(rpw2,54.5*Font_X,(1.7*i+4.2)*Font_Y,RIGHT(ZW_EPreis.i,10),apen,0,JAM2,scrfont);
CALL pitext(rpw2,22.5*Font_X,(1.7*i+4.2)*Font_Y,LEFT(ZW_Bez.i,30),apen,0,JAM2,scrfont);
CALL UP_B_Berechnung;
ACTIVATEGADID(msgid2+2,w2,null());
REFRESHGLIST(conxgad2,w2,null(),-1);
END;
WHEN msgid2 = 21 | msgid2 = 31 | msgid2 = 41 | msgid2 = 51 | msgid2 = 61 |,
msgid2 = 71 | msgid2 = 81 | msgid2 = 91 | msgid2 =101 | msgid2 =111 |,
msgid2 =121 | msgid2 =131 | msgid2 =141 THEN
DO;
i = (msgid2 - 11) / 10;
Test = GETSTRGAD(w2,msgid2,null());
IF Test ~= ZW_Art_Nr.i THEN
DO;
ZW_Art_Nr.i = Test
IF ZW_Art_Nr.i = "" THEN
DO;
ZW_Art_Anz.i = "";
CALL SETSTRGADID(w2,msgid2+1,ZW_Art_Anz.i,null());
ZW_EPreis.i = "";
ZW_Bez.i = "";
END;
ELSE
DO;
IF DATATYPE(ZW_Art_Nr.i,'w') THEN
DO;
IF ZW_Art_Nr.i > (A_max - 1) THEN
ZW_Art_Nr.i = A_max - 1;
ZW_Art_Nr.i = RIGHT("000000" || ZW_Art_Nr.i,6);
END;
ELSE
DO;
rtezrequest("Artikelnummer nicht numerisch, bitte prüfen!",,,ReqCent);
ZW_Art_Nr.i = "000001";
ACTIVATEGADID(msgid2,w2,null());
END;
TEST = ZW_Art_Nr.i;
ZW_EPreis.i = AR_ArtPreis.Test;
ZW_Bez.i = AR_ArtBez.Test;
END;
CALL SETSTRGADID(w2,msgid2,ZW_Art_Nr.i,null());
CALL pitext(rpw2,54.5*Font_X,(1.7*i+4.2)*Font_Y,RIGHT(ZW_EPreis.i,10),apen,0,JAM2,scrfont);
CALL pitext(rpw2,22.5*Font_X,(1.7*i+4.2)*Font_Y,LEFT(ZW_Bez.i,30),apen,0,JAM2,scrfont);
CALL UP_B_Berechnung;
REFRESHGLIST(conxgad2,w2,null(),-1);
END;
END;
WHEN msgid2 = 22 | msgid2 = 32 | msgid2 = 42 | msgid2 = 52 | msgid2 = 62 |,
msgid2 = 72 | msgid2 = 82 | msgid2 = 92 | msgid2 =102 | msgid2 =112 |,
msgid2 =122 | msgid2 =132 | msgid2 =142 THEN
DO;
i = (msgid2 - 12) / 10;
Test = GETSTRGAD(w2,msgid2,null());
IF Test ~= ZW_Art_Anz.i THEN
DO;
ZW_Art_Anz.i = Test
IF ~DATATYPE(ZW_Art_Anz.i,'n') THEN
DO;
rtezrequest("Artikelanzahl nicht numerisch, bitte prüfen!",,,ReqCent);
ZW_Art_Anz.i = 1;
ACTIVATEGADID(msgid2,w2,null());
END;
CALL SETSTRGADID(w2,msgid2,ZW_Art_Anz.i,null());
IF ZW_EPreis.i > "" THEN
CALL UP_B_Berechnung;
REFRESHGLIST(conxgad2,w2,null(),-1);
END;
END;
WHEN msgid2 = 160 THEN
DO;
Test = GETSTRGAD(w2,msgid2,null());
IF Test ~= UEB_RechNr THEN
DO;
CALL UP_Rechnung_OK;
UEB_RechNr = right("000000" || Test,6);
IF UEB_RechNr > R_max THEN
UEB_RechNr = R_max;
ELSE IF UEB_RechNr < 1 THEN
UEB_RechNr = "000001";
CALL UP_Rechnung_fuellen;
END;
END;
WHEN msgid2 = 161 | msgcode2 = 62 THEN
DO;
Test = UEB_RechNr + 1;
CALL UP_Rechnung_OK;
IF UEB_RechNr < R_max THEN
DO;
UEB_RechNr = right("000000" || Test,6);
CALL UP_Rechnung_fuellen;
END;
END;
WHEN msgid2 = 162 | msgcode2 = 60 THEN
DO;
Test = UEB_RechNr - 1;
CALL UP_Rechnung_OK;
IF UEB_RechNr > 0 THEN
DO;
UEB_RechNr = right("000000" || Test,6);
CALL UP_Rechnung_fuellen;
END;
END;
WHEN msgid2 = 163 | msgclass2 = CLOSEWINDOW | msgcode2 = 69 | msgcode2 = 101 | msgcode2 = 27 THEN
DO;
CALL UP_Rechnung_OK;
extime2 = 1;
END;
WHEN msgid2 = 164 | msgcode2 = 68 | msgcode2 = 100 THEN
DO;
CALL UP_Rechnung_OK;
CALL UP_Drucken;
ZW_KundenNr = right("000000" || GETSTRGAD(w2,11,null()),6);
UEB_RechNr = right("000000" || GETSTRGAD(w2,160,null()),6);
END;
WHEN msgid2 = 165 THEN
CALL UP_Rechnung_Fuellen;
OTHERWISE
NOP;
END;
RETURN 1;
Auswertung3:
SELECT
WHEN msgcode3 = 82 | msgcode3 = 114 THEN
ACTIVATEGADID(10,w3,null());
WHEN msgcode3 = 75 | msgcode3 = 107 THEN
ACTIVATEGADID(11,w3,null());
WHEN msgid3 = 10 THEN /* Rechnungsnummer wurde eingegeben/geändert */
DO;
Test = GETSTRGAD(w3,10,null());
IF Test ~= UEB_RechNr THEN
DO;
UEB_RechNr = TEST;
IF DATATYPE(UEB_RechNr,'w') THEN
DO;
IF UEB_RechNr > (R_max - 1) THEN
UEB_RechNr = R_max - 1;
UEB_RechNr = RIGHT("000000" || UEB_RechNr,6);
END;
ELSE
DO;
rtezrequest("Rechnungsnummer nicht numerisch!",,,ReqCent);
ACTIVATEGADID(10,w3,null());
UEB_RechNr = "000001";
END;
CALL SETSTRGADID(w3,10,UEB_RechNr,null());
REFRESHGLIST(conxgad3,w3,null(),-1);
END;
END;
WHEN msgid3 = 11 THEN /* Kundennummer wurde eingegeben/geändert */
DO;
Test = GETSTRGAD(w3,11,null());
IF Test ~= ZW_KundenNr THEN
DO;
ZW_KundenNr = TEST;
IF DATATYPE(ZW_KundenNr,'w') THEN
DO;
IF ZW_KundenNr > (K_max - 1) THEN
ZW_KundenNr = K_max - 1;
ZW_KundenNr = RIGHT(("000000" || ZW_KundenNr),6);
END;
ELSE
DO;
rtezrequest("Kundennummer nicht numerisch!",,,ReqCent);
ACTIVATEGADID(11,w3,null());
ZW_KundenNr = "000001";
END;
CALL SETSTRGADID(w3,11,ZW_KundenNr,null());
REFRESHGLIST(conxgad3,w3,null(),-1);
END;
END;
WHEN msgid3 = 12 THEN
Druckart = GETVALUE(mlabels,msgcode3*4,4,'s');
WHEN msgid3 = 13 | msgcode3 = 80 | msgcode3 = 112 THEN
DO;
address COMMAND 'Printer >NIL:';
prefs = allocmem(232);
x = getprefs(prefs,232);
B_laenge = GETVALUE(prefs,178,2,'n');
call freemem(prefs,232);
END;
WHEN msgid3 = 14 | msgcode3 = 86 | msgcode3 = 118 THEN
DO;
x = rtfilerequest("ram:",,"Wählen Sie das Druckverzeichnis",,"rtfi_flags=freqf_nofiles" ReqCent);
IF rtresult THEN;
Druckverz = x;
END;
WHEN msgid3 = 15 | msgcode3 = 67 | msgcode3 = 99 THEN
DO;
Druckfile = "t:Druck"
IF Druckart = ltxt.1 THEN
Ergebnis = rtezrequest("Bitte leeres Blatt einlegen","Drucken|Abbruch",,ReqCent);
ELSE IF Druckart = ltxt.2 then
DO;
Druckfile = Druckverz || "Rechnung." || UEB_RechNr;
Ergebnis = rtezrequest("Speichere Druck in" Druckfile,"OK|Abbruch",,ReqCent);
END;
ELSE
Ergebnis = 1;
IF Ergebnis = 1 then
DO;
CALL UP_R_Berechnung;
Z.1 = D_Rueck
IF D_YAbst < 2 THEN
DO I = D_YAbst TO 2;
Z.1 = Z.1 || LF;
END;
X = 7-D_XAbst;
IF X < 0 THEN
X = 0;
Z.1 = Z.1 || Copies(" ",X) left(FI_Anrede,55) || right(datum,10);
Z.2 = Copies(" ",X) FI_VorName FI_Name;
Z.3 = Copies(" ",X) FI_Strasse LF;
Z.4 = Copies(" ",X) FI_PLZ FI_Ort LF LF LF LF;
Z.5 = Copies(" ",X) D_SKlein || D_UEin || FI_Vorname FI_Name "*" FI_Strasse "*" FI_PLZ FI_Ort || D_UAus || D_SStand || LF;
Z.6 = Copies(" ",X) KD_Anrede.ZW_KundenNr;
Z.7 = Copies(" ",X) KD_VorName.ZW_KundenNr KD_Name.ZW_KundenNr;
Z.8 = Copies(" ",X) KD_Strasse.ZW_KundenNr LF;
Z.9 = Copies(" ",X) KD_PLZ.ZW_KundenNr KD_Ort.ZW_KundenNr
IF FI_Land ~= KD_Land.ZW_KundenNr THEN
Z.9 = Z.9 || " (" || KD_Land.ZW_KundenNr || ")";
Z.9 = Z.9 || LF || LF || LF;
Z.10 = Copies(" ",X) "Kundennr:" ZW_KundenNr;
Z.11 = Copies(" ",X) "Rechnung:" UEB_RechNr;
Z.12 = Copies(" ",X) "Datum :" RE_Datum.UEB_RechNr LF;
Z.13 = Copies(" ",X) "Art.Nr Anzahl" left(" Artikelbezeichnung",33) "Preis: Summe:";
Z.14 = Copies(" ",X) Copies("-",65);
DO i = 1 to I_max;
j = i + 14;
IF ZW_Art_Nr.i > "" THEN
Z.j = Copies(" ",X) ZW_Art_Nr.i right(ZW_Menge.i,6) || " " || left(ZW_ArtBez.i,28) right(ZW_EPreis.i,10) right(ZW_Summe.i,10);
ELSE
Z.j = "";
END;
IF I_max = 11 THEN
DO;
Z.26 = "";
Z.27 = "";
END;
IF ZW_Rab > 0 THEN
DO;
TEXT = "Abzüglich" KD_Rabatt.ZW_KundenNr "% Rabatt =";
Z.28 = Copies(" ",X) left(TEXT,55) right(ZW_Rab,9);
END;
ELSE
Z.28 = "";
Z.29 = Copies(" ",X) Copies("-",65);
Z.30 = Copies(" ",X) left("Gesamt Netto DM:",54) right(ZW_Endsumme-ZW_MWSt,10);
Z.31 = Copies(" ",X) left("zzgl. Mehrwertsteuer" MWSt_Satz.1 "% bzw." MWSt_Satz.2 "%",55) ZW_MWSt;
Z.32 = Copies(" ",X) left("Gesamt Brutto DM:",54) ZW_Endsumme;
Z.33 = Copies(" ",X) Copies("=",65) LF LF;
Z.34 = Copies(" ",X) D_KEin || "Bitte bei allen Bestellungen die Kundennummer angeben" D_KAus LF;
Z.35 = Copies(" ",X) "Bankverbindung:"
Z.36 = Copies(" ",X) FI_BankBez " BLZ:" FI_BLZ " Konto:" FI_Konto LF LF;
Z.37 = Copies(" ",X) "Vielen Dank für Ihren Auftrag";
Druckdat = "Rechnung";
OPEN(Druckdat,Druckfile,'write');
DO i = 1 to 37;
WRITELN(Druckdat,Z.i);
END;
CLOSE(Druckdat);
IF Druckart = ltxt.1 THEN
address COMMAND "run >NIL: copy t:Druck FF to" Druckport;
ELSE IF Druckart = ltxt.3 THEN
address COMMAND AnzeigePGM "t:Druck";
END;
END;
WHEN msgid3 = 16 | msgcode3 = 84 | msgcode3 = 116 THEN
DO;
Druckfile = "t:Druck"
IF Druckart = ltxt.1 THEN
Ergebnis = rtezrequest("Bitte leere Paketkarte einlegen","Einfach|Nachnahme|Abbruch",,ReqCent);
ELSE IF Druckart = ltxt.2 then
DO;
Druckfile = Druckverz || "Paketkarte." || UEB_RechNr;
Ergebnis = rtezrequest("Speichere Druck in" Druckfile,"Einfach|Nachnahme|Abbruch",,ReqCent);
END;
ELSE
Ergebnis = rtezrequest("Druckvorschau","Einfach|Nachnahme|Abbruch",,ReqCent);
IF Ergebnis > 0 then
DO;
CALL UP_R_Berechnung;
Z.1 = D_Rueck
IF D_YAbst < 5 THEN
DO I = D_YAbst TO 5;
Z.1 = Z.1 || LF;
END;
X = 3-D_XAbst;
IF X < 0 THEN
X = 0;
Z.1 = Z.1 || Copies(" ",X) || FI_VorName FI_Name LF;
Z.2 = Copies(" ",X) || FI_Strasse LF;
Z.3 = Copies(" ",X) || FI_PLZ FI_Ort LF LF;
IF FI_Land = KD_Land.ZW_KundenNr THEN
Z.9 = "";
ELSE
Z.9 = Copies(" ", 28+X) "(" || KD_Land.ZW_KundenNr || ")";
IF Ergebnis = 1 THEN
DO;
Z.4 = LF LF;
Z.5 = Copies(" ",26+X) KD_Anrede.ZW_KundenNr LF;
Z.6 = Copies(" ",26+X) KD_VorName.ZW_KundenNr KD_Name.ZW_KundenNr LF;
Z.7 = Copies(" ",26+X) KD_Strasse.ZW_KundenNr LF LF LF;
Z.8 = Copies(" ",26+X) KD_PLZ.ZW_KundenNr KD_Ort.ZW_KundenNr LF;
END;
ELSE
DO;
Z.4 = Copies(" ",X+13) LEFT(ZW_Endsumme,13) LF LF;
Z.5 = Copies(" ",X+5) LEFT(FI_Konto,19) " " KD_Anrede.ZW_KundenNr LF;
Z.6 = Copies(" ",X+5) LEFT(FI_BankKurz,19) " " KD_VorName.ZW_KundenNr KD_Name.ZW_KundenNr LF;
Z.7 = Copies(" ",X+14) LEFT(FI_BLZ,10) " " KD_Strasse.ZW_KundenNr LF LF LF;
Z.8 = Copies(" ",X+28) KD_PLZ.ZW_KundenNr KD_Ort.ZW_KundenNr LF;
END;
Druckdat = "Paketkarte";
OPEN(Druckdat,Druckfile,'write');
DO i = 1 to 9;
WRITELN(Druckdat,Z.i);
END;
CLOSE(Druckdat);
IF Druckart = ltxt.1 THEN
address COMMAND "copy >NIL: t:Druck FF to" Druckport;
ELSE IF Druckart = ltxt.3 THEN
address COMMAND AnzeigePGM "t:Druck";
IF D_Durch = "N" & Druckart = ltxt.1 THEN
DO;
DO MAX = 1 TO 2;
Ergebnis = rtezrequest("Bitte oben liegenden Zettel entfernen," || LF || "den Schein dann erneut einlegen.","OK",,ReqCent);
address COMMAND "copy >NIL: t:Druck FF to" Druckport;
END;
END;
END;
END;
WHEN msgid3 = 17 | msgcode3 = 90 | msgcode3 = 122 THEN
DO;
Druckfile = "t:Druck"
IF Druckart = ltxt.1 THEN
Ergebnis = rtezrequest("Bitte leeren Zahlschein einlegen","Klein|Groß|Abbruch",,ReqCent);
ELSE IF Druckart = ltxt.2 then
DO;
Druckfile = Druckverz || "Paketkarte." || UEB_RechNr;
Ergebnis = rtezrequest("Speichere Druck in" Druckfile,"Klein|Groß|Abbruch",,ReqCent);
END;
ELSE
Ergebnis = rtezrequest("Druckvorschau fromat?","Klein|Groß|Abbruch",,ReqCent);
IF Ergebnis > 0 then
DO;
CALL UP_R_Berechnung;
Z.1 = D_Rueck
IF D_YAbst < 5 THEN
DO I = D_YAbst TO 4;
Z.1 = Z.1 || LF;
END;
X = 3-D_XAbst;
IF X < 0 THEN
X = 0;
Z.8 = UP_Sperr(left(FI_Name Fi_VorName,26));
Z.1 = Z.1 || Copies(" ",X) || Z.8 || LF;
Z.8 = UP_Sperr(COMPRESS(FI_Konto));
Z.9 = UP_Sperr(COMPRESS(FI_BLZ));
Z.2 = Copies(" ",X) || left(Z.8,10) || CR || Copies(" ",38+X) || Z.9 || LF;
Z.8 = UP_Sperr(left(FI_BankBez,26))
Z.3 = Copies(" ",X) || Z.8 || LF;
i = UP_Sperr(ZW_Endsumme - 3.00);
Z.4 = Copies(" ",X+30) || i || LF;
Z.8 = UP_Sperr("ReNr:" UEB_RechNr);
Z.5 = Copies(" ",X) || Z.8 || LF || LF || LF;
Z.8 = UP_Sperr(left(KD_Name.ZW_KundenNr KD_VorName.ZW_KundenNr || "," KD_Ort.ZW_KundenNr,27));
Z.6 = Copies(" ",X) || Z.8 || LF;
Z.7 = Copies(" ",22+X) || i;
Druckdat = "Zahlschein"
OPEN(Druckdat,Druckfile,'write');
IF Ergebnis = 1 THEN
max = 7;
ELSE
DO;
max = 15;
Z.8 = LF || LF || LF || LF || LF || LF || LF || LF || LF || Copies(" ",16+X) || FI_Name FI_VorName;
Z.9 = Copies(" ",16+X) || FI_Strasse;
Z.10 = Copies(" ",16+X) || FI_PLZ FI_Ort || LF || LF || LF || LF || LF || LF;
ZW_Endsumme = right(ZW_Endsumme,9);
Z.11 = Copies(" ",X-1) || right(left(ZW_Endsumme,6),5) || right(ZW_Endsumme,27) LF;
Z.12 = Copies(" ",X-1) || left(KD_Name.ZW_KundenNr KD_VorName.ZW_KundenNr,15) Copies(" ",9) KD_VorName.ZW_KundenNr KD_Name.ZW_KundenNr LF;
Z.13 = Copies(" ",X-1) || left(KD_Strasse.ZW_KundenNr,15) Copies(" ",9) KD_Strasse.ZW_KundenNr LF;
Z.14 = Copies(" ",X-1) || left(KD_PLZ.ZW_KundenNr KD_Ort.ZW_KundenNr,15);
Z.15 = Copies(" ",24+X) || KD_PLZ.ZW_KundenNr KD_Ort.ZW_KundenNr;
END;
Z.max = Z.max;
DO i = 1 to max;
WRITELN(Druckdat,Z.i);
END;
CLOSE(Druckdat);
IF Druckart = ltxt.1 THEN
address COMMAND "run >NIL: copy t:Druck FF to" Druckport;
ELSE IF Druckart = ltxt.3 THEN
address COMMAND AnzeigePGM "t:Druck";
END;
END;
WHEN msgid3 = 18 | msgcode3 = 77 | msgcode3 = 109 THEN
DO;
MAdd.01 = 0;
MAdd.02 = 31;
i = right(datum,4);
i = i / 4;
i = lastpos('.',i);
IF i = 0 THEN
MAdd.03 = MAdd.02 + 29;
ELSE
MAdd.03 = MAdd.02 + 28;
MAdd.04 = MAdd.03 + 31;
MAdd.05 = MAdd.04 + 30;
MAdd.06 = MAdd.05 + 31;
MAdd.07 = MAdd.06 + 30;
MAdd.08 = MAdd.07 + 31;
MAdd.09 = MAdd.08 + 31;
MAdd.10 = MAdd.09 + 30;
MAdd.11 = MAdd.10 + 31;
MAdd.12 = MAdd.11 + 30;
Monat = SUBSTR(RE_Datum.UEB_RechNr,4,2);
Tag = LEFT(RE_Datum.UEB_RechNr,2);
Jahr = RIGHT(RE_Datum.UEB_RechNr,4);
Rec = Tag + MAdd.Monat + (365.2423482188 * Jahr);
Rec = trunc(Rec)
Nun = Date(b);
Dif = Nun - Rec;
CALL UP_R_Berechnung;
Select;
WHEN RE_Mahnung.UEB_RechNr = 1 THEN
DO;
MahnNr = rtezrequest("Es wurde bereits eine Mahnung gedruckt!" LF ||,
"Seit Rechnungserstellung sind" Dif "Tage vergangen.",
,"2.Mahnung|1.Mahnung|Abbruch",,ReqCent);
SELECT;
WHEN MahnNr = 1 THEN
MahnNr = 2;
WHEN MahnNr = 2 THEN
MahnNr = 1;
OTHERWISE
NOP;
END;
END;
WHEN RE_Mahnung.UEB_RechNr = 2 THEN
DO;
MahnNr = rtezrequest("Es wurden bereits zwei Mahnungen gedruckt!" LF ||,
"Seit Rechnungserstellung sind" Dif "Tage vergangen.",
,"3.Mahnung|2.Mahnung|1.Mahnung|Abbruch",,ReqCent);
SELECT;
WHEN MahnNr = 1 THEN
MahnNr = 3;
WHEN MahnNr = 3 THEN
MahnNr = 1;
OTHERWISE
NOP;
END;
END;
WHEN RE_Mahnung.UEB_RechNr = 3 THEN
DO;
MahnNr = rtezrequest("Es wurden bereits drei Mahnungen gedruckt!" LF ||,
"Seit Rechnungserstellung sind" Dif "Tage vergangen" LF ||,
"Es ist KEINE weiter Mahnung möglich",
,"Abbruch|3.Mahnung|2.Mahnung|1.Mahnung",,ReqCent);
SELECT;
WHEN MahnNr = 0 THEN
MahnNr = 1;
WHEN MahnNr = 1 THEN
MahnNr = 0;
WHEN MahnNr = 2 THEN
MahnNr = 3;
WHEN MahnNr = 3 THEN
MahnNr = 2;
OTHERWISE
NOP;
END;
END;
OTHERWISE
MahnNr = rtezrequest("Es wurde noch keine Mahnung gedruckt!" LF ||,
"Seit Rechnungserstellung sind" Dif "Tage vergangen",
,"1.Mahnung|Abbruch",,ReqCent);
END;
IF MahnNr = 0 THEN
Ergebnis = 0;
ELSE
DO;
Druckfile = "t:Druck"
IF Druckart = ltxt.1 THEN
Ergebnis = rtezrequest("Bitte leeres Blatt einlegen","Drucken|Abbruch",,ReqCent);
ELSE IF Druckart = ltxt.2 then
DO;
Druckfile = Druckverz || "Paketkarte." || UEB_RechNr;
Ergebnis = rtezrequest("Speichere Druck in" Druckfile,"OK|Abbruch",,ReqCent);
END;
ELSE
Ergebnis = 1;
END;
IF Ergebnis = 1 then
DO;
IF RE_Mahnung.UEB_RechNr < MahnNr THEN
RE_Mahnung.UEB_RechNr = MahnNr;
CALL UP_R_Berechnung;
Z.1 = D_Rueck
IF D_YAbst < 2 THEN
DO I = D_YAbst TO 2;
Z.1 = Z.1 || LF;
END;
X = 7-D_XAbst;
IF X < 0 THEN
X = 0;
Z.1 = Z.1 || Copies(" ",X) || left(FI_Anrede,55) || right(datum,10);
Z.2 = Copies(" ",X) || FI_VorName FI_Name;
Z.3 = Copies(" ",X) || FI_Strasse LF;
Z.4 = Copies(" ",X) || FI_PLZ FI_Ort LF LF LF LF;
Z.5 = Copies(" ",X) || D_SKlein || D_UEin || FI_Vorname FI_Name "*" FI_Strasse "*" FI_PLZ FI_Ort || D_UAus || D_SStand || LF;
Z.6 = Copies(" ",X) || KD_Anrede.ZW_KundenNr;
Z.7 = Copies(" ",X) || KD_VorName.ZW_KundenNr KD_Name.ZW_KundenNr;
Z.8 = Copies(" ",X) || KD_Strasse.ZW_KundenNr LF;
Z.9 = Copies(" ",X) || KD_PLZ.ZW_KundenNr KD_Ort.ZW_KundenNr
IF FI_Land ~= KD_Land.ZW_KundenNr THEN
Z.9 = Z.9 || " (" || KD_Land.ZW_KundenNr || ")";
Z.9 = Z.9 || LF || LF || LF || LF || LF;
Z.10 = Copies(" ",X) || "Kundennr:" ZW_KundenNr;
Z.11 = Copies(" ",X) || "Betreff Rechnung" UEB_RechNr "vom" RE_Datum.UEB_RechNr || LF || LF || LF;
Z.12 = Copies(" ",X) || KD_BAnr.ZW_KundenNr || LF;
SELECT
WHEN MahnNr = 1 THEN
DO;
ZW_SumPMahn = ZW_Endsumme + 1.50;
Z.13 = Copies(" ",X) || "leider muß ich Ihnen mitteilen, daß Sie meine Rechnung" UEB_RechNr "vom";
Z.14 = Copies(" ",X) || RE_Datum.UEB_RechNr "bisher noch nicht bezahlt haben. Ich möchte Sie deshalb";
Z.15 = Copies(" ",X) || "bitten, dieses Versäumnis nachzuholen und den ausstehenden Betrag von";
Z.16 = Copies(" ",X) || right(ZW_Endsumme,9) "DM + 1.50 DM Mahngebühr (Gesamt:" right(ZW_SumPMahn,9) || "DM) auf mein";
Z.17 = Copies(" ",X) || "Konto zu überweisen.";
Z.18 = LF;
END;
WHEN MahnNr = 2 THEN
DO;
ZW_SumPMahn = ZW_Endsumme + 3.00;
Z.13 = Copies(" ",X) || "leider muß ich Ihnen mitteilen, daß Sie meine Rechnung" UEB_RechNr "vom";
Z.14 = Copies(" ",X) || RE_Datum.UEB_RechNr "trotz nochmaliger Aufforderung bisher noch nicht bezahlt";
Z.15 = Copies(" ",X) || "haben. Ich möchte Sie deshalb nachdrücklich dazu auffordern, Ihr Ver-";
Z.16 = Copies(" ",X) || "säumnis nachzuholen und den ausstehenden Betrag von " right(ZW_Endsumme,9) "DM +";
Z.17 = Copies(" ",X) || "3.00 DM Mahngebühr (Gesamt:" right(ZW_SumPMahn,9) || ") auf mein Konto zu überweisen!";
Z.18 = LF;
END;
WHEN MahnNr = 3 THEN
DO;
ZW_SumPMahn = ZW_Endsumme + 4.50;
Z.13 = Copies(" ",X) || "trotz zweier Mahnungen haben Sie meine Rechnung" UEB_RechNr "vom" RE_Datum.UEB_RechNr;
Z.14 = Copies(" ",X) || "nicht überwiesen! Dies ist meine letzte Aufforderung, Ihr Versäumnis";
Z.15 = Copies(" ",X) || "nachzuholen und den ausstehenden Betrag von " right(ZW_Endsumme,9) "DM + 4.50 DM";
Z.16 = Copies(" ",X) || "Mahngebühr (Gesamt:" right(ZW_SumPMahn,9) || ") auf mein Konto zu überweisen!";
Z.17 = Copies(" ",X) || "Wenn Sie meiner Aufforderung nicht nachkommen, behalte ich mir ge-";
Z.18 = Copies(" ",X) || "richtliche Schritte vor." || LF || LF;
END;
OTHERWISE
NOP;
END;
Z.19 = Copies(" ",X) || "Bankverbindung:";
Z.20 = Copies(" ",X) || FI_BankBez " BLZ:" FI_BLZ " Konto:" FI_Konto LF;
Z.21 = Copies(" ",X) || "Mit freundlichen Grüßen" || LF || LF || LF;
Z.22 = Copies(" ",X) || FI_VorName FI_Name;
Druckdat = "Mahnung";
OPEN(Druckdat,Druckfile,'write');
DO i = 1 to 22;
WRITELN(Druckdat,Z.i);
END;
CLOSE(Druckdat);
IF Druckart = ltxt.1 THEN
address COMMAND "run >NIL: copy t:Druck FF to" Druckport;
ELSE IF Druckart = ltxt.3 THEN
address COMMAND AnzeigePGM "t:Druck";
END;
END;
WHEN msgid3 = 19 | msgcode3 = 69 | msgcode3 = 101 THEN
DO;
Druckfile = "t:Druck"
IF Druckart = ltxt.1 THEN
Ergebnis = rtezrequest("Bitte Etiketten einlegen" LF ||,
"Firmen oder Kundenetiketten?",
,"Firma|Kunde|Abbruch",,ReqCent);
ELSE IF Druckart = ltxt.2 then
DO;
Druckfile = Druckverz || "Etiketten." || ZW_KundenNr;
Ergebnis = rtezrequest("Speichere Druck in" Druckfile LF ||,
"Firmen oder Kundenetiketten?",
,"Firma|Kunde|Abbruch",,ReqCent);
END;
ELSE
Ergebnis = rtezrequest(" Druckvorschau:" LF ||,
"Firmen oder Kundenetiketten?",
,"Firma|Kunde|Abbruch",,ReqCent);
IF Ergebnis = 1 then
DO;
Z.1 = LF Fi_Anrede;
Z.2 = "" FI_VorName FI_Name;
Z.3 = "" FI_Strasse;
Z.4 = LF FI_PLZ FI_Ort;
Z.5 = LF LF;
END;
IF Ergebnis = 2 then
DO;
Z.1 = LF KD_Anrede.ZW_KundenNr;
Z.2 = "" KD_VorName.ZW_KundenNr KD_Name.ZW_KundenNr;
Z.3 = "" KD_Strasse.ZW_KundenNr;
Z.4 = LF KD_PLZ.ZW_KundenNr KD_Ort.ZW_KundenNr;
IF FI_Land = KD_Land.ZW_KundenNr THEN
Z.5 = LF LF;
ELSE
Z.5 = " (" || KD_Land.ZW_KundenNr || ")" LF LF;
END;
IF Ergebnis > 0 then
DO;
Anzahl = rtgetlong(, , "Wieviel Etiketten wollen Sie drucken:", , ,"rtgl_min = 1 rtgl_max = 999");
Druckdat = "Etikett";
OPEN(Druckdat,Druckfile,'write');
WRITELN(Druckdat,D_Rueck);
DO j = 1 to Anzahl;
DO i = 1 to 5;
WRITELN(Druckdat,Z.i);
END;
END;
CLOSE(Druckdat);
IF Druckart = ltxt.1 THEN
address COMMAND "run >NIL: copy t:Druck FF to" Druckport;
ELSE IF Druckart = ltxt.3 THEN
address COMMAND AnzeigePGM "t:Druck";
END;
END;
WHEN msgid3 = 20 | msgcode3 = 85 | msgcode3 = 117 THEN
DO;
Druckfile = "t:Druck"
IF Druckart = ltxt.1 THEN
Ergebnis = rtezrequest("Bitte Umschlag einlegen." LF ||,
"Welches Format wünschen Sie?",
,"C6/B6|DL|Abbruch",,ReqCent);
ELSE IF Druckart = ltxt.2 then
DO;
Druckfile = Druckverz || "Umschläge." || ZW_KundenNr;
Ergebnis = rtezrequest("Speichere Druck in" Druckfile LF ||,
"Welches Format wünschen Sie?",
,"C6/B6|DL|Abbruch",,ReqCent);
END;
ELSE
Ergebnis = rtezrequest(" Druckvorschau" LF ||,
"Welches Format wünschen Sie?",
,"C6/B6|DL|Abbruch",,ReqCent);
IF Ergebnis > 0 then
DO;
Z.1 = D_Rueck
IF D_YAbst < 2 THEN
DO I = D_YAbst TO 2;
Z.1 = Z.1 || LF;
END;
X = 3-D_XAbst;
IF X < 0 THEN
X = 0;
SELECT
WHEN Ergebnis = 1 then
Breite = 22+X;
WHEN Ergebnis = 2 then
Breite = 31+X;
OTHERWISE
NOP;
END;
Z.1 = Z.1 || Copies(" ",X) || Fi_Anrede;
Z.2 = Copies(" ",X) || FI_VorName FI_Name;
Z.3 = Copies(" ",X) || FI_Strasse LF;
Z.4 = Copies(" ",X) || FI_PLZ FI_Ort LF LF LF LF LF LF;
Z.5 = Copies(" ",Breite) KD_Anrede.ZW_KundenNr ;
Z.6 = Copies(" ",Breite) KD_VorName.ZW_KundenNr KD_Name.ZW_KundenNr;
Z.7 = Copies(" ",Breite) KD_Strasse.ZW_KundenNr LF;
Z.8 = Copies(" ",Breite) KD_PLZ.ZW_KundenNr KD_Ort.ZW_KundenNr;
IF FI_Land ~= KD_Land.ZW_KundenNr THEN
Z.8 = Z.8 "(" || KD_Land.ZW_KundenNr || ")";
Druckdat = "Umschlag";
OPEN(Druckdat,Druckfile,'write');
DO i = 1 to 8;
WRITELN(Druckdat,Z.i);
END;
CLOSE(Druckdat);
IF Druckart = ltxt.1 THEN
address COMMAND "run >NIL: copy t:Druck FF to" Druckport;
ELSE IF Druckart = ltxt.3 THEN
address COMMAND AnzeigePGM "t:Druck";
END;
END;
WHEN msgid3 = 21 | msgcode3 = 76 | msgcode3 = 108 THEN
DO;
Druckfile = "t:Druck"
IF Druckart = ltxt.1 THEN
Ergebnis = rtezrequest("Bitte leeres Blatt einlegen","OK|Abbruch",,ReqCent);
ELSE IF Druckart = ltxt.2 then
DO;
Druckfile = Druckverz || "Artikelliste";
Ergebnis = rtezrequest("Speichere Druck in" Druckfile,"OK|Abbruch",,ReqCent);
END;
ELSE
Ergebnis = 1;
IF Ergebnis > 0 then
DO;
Druckdat = "Artikel"
OPEN(Druckdat,Druckfile,'write');
Z.6 = "ArtNr Artikelbezeichnung Preis MWSt Buchk."
Z.7 = Copies("-",59);
WRITELN(Druckdat,D_Rueck || Z.6);
WRITELN(Druckdat,Z.7);
Zeile = 3;
Z.6 = FF || Z.6;
DO j = 1 to (A_max - 1)
j = right("000000" || j,6);
Z.1 = j left(AR_ArtBez.j,30) right(AR_ArtPreis.j,9) right(Ar_ArtMWSt.j,4) right(AR_ArtBuch.j,6);
Zeile = Zeile + 1;
IF Zeile > B_laenge THEN
DO;
WRITELN(Druckdat,Z.6);
WRITELN(Druckdat,Z.7);
Zeile = 3;
END;
WRITELN(Druckdat,Z.1);
END;
Z.1 = LF || "Ende der Auflistung";
WRITELN(Druckdat,Z.1);
CLOSE(Druckdat);
IF Druckart = ltxt.1 THEN
address COMMAND "run copy >NIL: t:Druck FF to" Druckport;
ELSE IF Druckart = ltxt.3 THEN
address COMMAND AnzeigePGM "t:Druck";
END;
END;
WHEN msgid3 = 22 | msgcode3 = 83 | msgcode3 = 115 THEN
DO;
Druckfile = "t:Druck"
IF Druckart = ltxt.1 THEN
Ergebnis = rtezrequest("Bitte leeres Blatt einlegen","OK|Abbruch",,ReqCent);
ELSE IF Druckart = ltxt.2 then
DO;
Druckfile = Druckverz || "Kundenliste";
Ergebnis = rtezrequest("Speichere Druck in" Druckfile,"OK|Abbruch",,ReqCent);
END;
ELSE
Ergebnis = 1;
IF Ergebnis > 0 then
DO;
Druckdat = "Kunden"
OPEN(Druckdat,Druckfile,'write');
Z.6 = "Kunde Vorname Name Straße PLZ Ort"
Z.7 = Copies("-",71);
WRITELN(Druckdat,D_Rueck || Z.6);
WRITELN(Druckdat,Z.7);
Zeile = 3;
Z.6 = FF || Z.6;
DO j = 1 to (K_max - 1);
j = "000000" || j;
j = right(j,6);
Z.1 = j left(KD_Vorname.j,10) left(KD_Name.j,10) left(KD_Strasse.j,20) left(KD_PLZ.j,5) left(KD_Ort.j,15);
Zeile = Zeile + 1;
IF Zeile > B_laenge THEN
DO;
WRITELN(Druckdat,Z.6);
WRITELN(Druckdat,Z.7);
Zeile = 3;
END;
WRITELN(Druckdat,Z.1);
END;
Z.1 = LF || "Ende der Auflistung";
WRITELN(Druckdat,Z.1);
CLOSE(Druckdat);
IF Druckart = ltxt.1 THEN
address COMMAND "run >NIL: copy t:Druck FF to" Druckport
ELSE IF Druckart = ltxt.3 THEN
address COMMAND AnzeigePGM "t:Druck";
END;
END;
WHEN msgid3 = 23 | msgcode3 = 65 | msgcode3 = 97 THEN
DO;
jahr = rtgetlong(, , "Für welches Jahr soll gedruckt werden :", , ,"rtgl_min = 1 rtgl_may = 9999");
Druckfile = "t:Druck"
IF Druckart = ltxt.1 THEN
Ergebnis = rtezrequest("Bitte leeres Blatt einlegen","OK|Abbruch",,ReqCent);
ELSE IF Druckart = ltxt.2 then
DO;
Druckfile = Druckverz || "Einnahmen." || jahr;
Ergebnis = rtezrequest("Speichere Druck in" Druckfile,"OK|Abbruch",,ReqCent);
END;
ELSE
Ergebnis = 1;
IF Ergebnis > 0 then
DO;
Z.6 = "Re.Nr Datum Ku.Nr Art.Nr Anzahl E.Preis Summe Endsumme"
Z.7 = Copies("-",74);
jahr_l = LENGTH(jahr);
Endsumme = 0;
MWSt = 0;
Druckdat = "Einnahmen";
OPEN(Druckdat,Druckfile,'write');
WRITELN(Druckdat,D_Rueck || Z.6);
WRITELN(Druckdat,Z.7);
Zeile = 3;
Z.6 = FF || Z.6;
DO k = 1 to (R_max - 1);
l = right("000000" || k,6);
IF jahr = right(RE_Datum.l,jahr_l) THEN
DO;
UEB_RechNr = l;
CALL UP_R_Berechnung;
Z.1 = l RE_Datum.l RE_Kunde.l RE_Art.1.l right(RE_Anz.1.l,6) right(ZW_Epreis.1,11) right(ZW_Summe.1,11);
ZEILE = ZEILE + 1;
IF Zeile >= B_laenge THEN
DO;
WRITELN(Druckdat,Z.6);
WRITELN(Druckdat,Z.7);
Zeile = 3;
END;
WRITELN(Druckdat,Z.1);
DO i = 2 TO 12;
IF RE_Anz.i.l > 0 THEN
DO;
Z.1 = Copies(" ",24) RE_Art.i.l right(RE_Anz.i.l,6) right(ZW_Epreis.i,11) right(ZW_Summe.i,11);
ZEILE = ZEILE + 1;
IF Zeile >= B_laenge THEN
DO;
WRITELN(Druckdat,Z.6);
WRITELN(Druckdat,Z.7);
Zeile = 3;
END;
WRITELN(Druckdat,Z.1);
END;
END;
Z.1 = Copies(" ",24) right(RE_Art.13.l,6) right(RE_Anz.13.l,6) right(ZW_Epreis.13,11) right(ZW_Summe.13,11) right(ZW_Endsumme,11) LF;
ZEILE = ZEILE + 2;
IF Zeile >= B_laenge THEN
DO;
WRITELN(Druckdat,Z.6);
WRITELN(Druckdat,Z.7);
Zeile = 3;
END;
WRITELN(Druckdat,Z.1);
Endsumme = Endsumme + ZW_Endsumme;
MWSt = MWSt + ZW_MWSt;
ENetto = Endsumme - MWSt;
END;
END;
Z.1 = Copies("-",74);
Z.2 = "Endsumme (Netto) =" Copies(" ",38) right(ENetto,15);
Z.3 = "Mehrwertsteuer =" Copies(" ",38) right(MWSt,15);
Z.4 = "Endsumme (Brutto) =" Copies(" ",38) right(Endsumme,15);
Z.5 = Copies("=",74);
IF Zeile > (B_laenge - 6) THEN
DO;
WRITELN(Druckdat,Z.6);
WRITELN(Druckdat,Z.7);
Zeile = 3;
END;
DO i = 1 TO 5;
WRITELN(Druckdat,Z.i);
END;
CLOSE(Druckdat);
IF Druckart = ltxt.1 THEN
address COMMAND "run >NIL: copy t:Druck FF to" Druckport;
ELSE IF Druckart = ltxt.3 THEN
address COMMAND AnzeigePGM "t:Druck";
END;
END;
WHEN msgclass3 = CLOSEWINDOW | msgcode3 = 27 THEN
extime3 = 1;
OTHERWISE
NOP;
END;
RETURN 1;
Auswertung4:
SELECT
WHEN msgcode4 = 86 | msgcode4 = 118 THEN
ACTIVATEGADID(10,w4,null());
WHEN msgid4 = 10 THEN
ZW_VorName = GETSTRGAD(w4,10,null());
WHEN msgcode4 = 78 | msgcode4 = 110 THEN
ACTIVATEGADID(11,w4,null());
WHEN msgid4 = 11 THEN
ZW_Name = GETSTRGAD(w4,11,null());
WHEN msgcode4 = 83 | msgcode4 = 115 THEN
ACTIVATEGADID(12,w4,null());
WHEN msgid4 = 12 THEN
ZW_Strasse = GETSTRGAD(w4,12,null());
WHEN msgcode4 = 80 | msgcode4 = 112 THEN
ACTIVATEGADID(13,w4,null());
WHEN msgid4 = 13 THEN
ZW_PLZ = GETSTRGAD(w4,13,null());
WHEN msgcode4 = 79 | msgcode4 = 111 THEN
ACTIVATEGADID(14,w4,null());
WHEN msgid4 = 14 THEN
ZW_Ort = GETSTRGAD(w4,14,null());
WHEN msgcode4 = 76 | msgcode4 = 108 THEN
ACTIVATEGADID(15,w4,null());
WHEN msgid4 = 15 THEN
ZW_Land = GETSTRGAD(w4,15,null());
WHEN msgcode4 = 71 | msgcode4 = 103 THEN
ACTIVATEGADID(16,w4,null());
WHEN msgid4 = 16 THEN
ZW_GebTag = GETSTRGAD(w4,16,null());
WHEN msgcode4 = 84 | msgcode4 = 116 THEN
ACTIVATEGADID(17,w4,null());
WHEN msgid4 = 17 THEN
ZW_Tel = GETSTRGAD(w4,17,null());
WHEN msgcode4 = 70 | msgcode4 = 102 THEN
ACTIVATEGADID(18,w4,null());
WHEN msgid4 = 18 THEN
ZW_Fax = GETSTRGAD(w4,18,null());
WHEN msgcode4 = 220 | msgcode4 = 252 THEN
ACTIVATEGADID(19,w4,null());
WHEN msgid4 = 19 THEN
ZW_Dfue = GETSTRGAD(w4,19,null());
WHEN msgcode4 = 49 THEN
ACTIVATEGADID(20,w4,null());
WHEN msgid4 = 20 THEN
ZW_EMail1 = GETSTRGAD(w4,20,null());
WHEN msgcode4 = 50 THEN
ACTIVATEGADID(21,w4,null());
WHEN msgid4 = 21 THEN
ZW_EMail2 = GETSTRGAD(w4,21,null());
WHEN msgcode4 = 51 THEN
ACTIVATEGADID(22,w4,null());
WHEN msgid4 = 22 THEN
ZW_EMail3 = GETSTRGAD(w4,22,null());
WHEN msgcode4 = 65 | msgcode4 = 97 THEN
ACTIVATEGADID(23,w4,null());
WHEN msgid4 = 23 THEN
ZW_Anrede = GETSTRGAD(w4,23,null());
WHEN msgcode4 = 66 | msgcode4 = 98 THEN
ACTIVATEGADID(24,w4,null());
WHEN msgid4 = 24 THEN
ZW_BAnr = GETSTRGAD(w4,24,null());
WHEN msgcode4 = 75 | msgcode4 = 107 THEN
ACTIVATEGADID(25,w4,null());
WHEN msgid4 = 25 THEN
ZW_Komm = GETSTRGAD(w4,25,null());
WHEN msgcode4 = 46 | msgcode4 = 58 THEN
ACTIVATEGADID(26,w4,null());
WHEN msgid4 = 26 THEN
ZW_BankBez = GETSTRGAD(w4,26,null());
WHEN msgcode4 = 90 | msgcode4 = 122 THEN
ACTIVATEGADID(27,w4,null());
WHEN msgid4 = 27 THEN
ZW_BLZ = GETSTRGAD(w4,27,null());
WHEN msgcode4 = 42 | msgcode4 = 43 THEN
ACTIVATEGADID(28,w4,null());
WHEN msgid4 = 28 THEN
ZW_Konto = GETSTRGAD(w4,28,null());
WHEN msgcode4 = 85 | msgcode4 = 117 THEN
ACTIVATEGADID(29,w4,null());
WHEN msgid4 = 29 THEN
ZW_BankKurz = GETSTRGAD(w4,29,null());
WHEN msgcode4 = 82 | msgcode4 = 114 THEN
ACTIVATEGADID(30,w4,null());
WHEN msgid4 = 30 THEN
ZW_Rabatt = GETSTRGAD(w4,30,null());
WHEN msgid4 = 40 | msgcode4 = 73 | msgcode4 = 105 THEN
DO;
CALL UP_Kunde_OK;
Druckart = GETVALUE(mlabels2,msgcode4*4,4,'s');
SELECT;
WHEN Druckart = "Firma" THEN
DO;
CALL OffGadget(41,w4,null());
CALL OffGadget(42,w4,null());
CALL OffGadget(43,w4,null());
CALL OffGadget(44,w4,null());
CALL OffGadget(45,w4,null());
CALL UP_Firma_alles;
CALL UP_ReErst_fuellen;
END;
OTHERWISE
DO;
CALL OnGadget(41,w4,null());
CALL OnGadget(42,w4,null());
CALL OnGadget(43,w4,null());
CALL OnGadget(44,w4,null());
CALL OnGadget(45,w4,null());
CALL UP_Kunden_alles;
CALL UP_ReErst_fuellen;
END;
END;
END;
WHEN msgcode4 = 72 | msgcode4 = 104 THEN
ACTIVATEGADID(41,w4,null());
WHEN msgid4 = 41 THEN
DO;
Test = GETSTRGAD(w4,41,null());
IF Test = ZW_Suchen | Druckart = "Firma" THEN
NOP;
ELSE IF Test = "" THEN
ZW_Suchen = "";
ELSE
DO;
CALL UP_Kunde_OK;
j = LENGTH(Test);
x = "Nein";
Test = UPPER(Test);
DO I = 1 TO K_max;
I = right("000000" || I,6);
IF POS(Test,UPPER(KD_VorName.I)),
+ POS(Test,UPPER(KD_Name.I)),
+ POS(Test,UPPER(KD_Strasse.I)),
+ POS(Test,UPPER(KD_PLZ.I)),
+ POS(Test,UPPER(KD_Ort.I)),
+ POS(Test,UPPER(KD_Land.I)),
+ POS(Test,UPPER(KD_GebTag.I)),
+ POS(Test,UPPER(KD_Tel.I)),
+ POS(Test,UPPER(KD_Fax.I)),
+ POS(Test,UPPER(KD_Dfue.I)),
+ POS(Test,UPPER(KD_EMail1.I)),
+ POS(Test,UPPER(KD_EMail2.I)),
+ POS(Test,UPPER(KD_EMail3.I)),
+ POS(Test,UPPER(KD_Anrede.I)),
+ POS(Test,UPPER(KD_BAnr.I)),
+ POS(Test,UPPER(KD_Komm.I)),
+ POS(Test,UPPER(KD_BankBez.I)),
+ POS(Test,UPPER(KD_BLZ.I)),
+ POS(Test,UPPER(KD_Konto.I)),
+ POS(Test,UPPER(KD_BankKurz.I)) > 0 THEN
DO;
x = I;
I = K_max;
END;
END;
ZW_Suchen = Test;
IF x = "Nein" THEN
rtezrequest("Der Begriff konnte nicht gefunden werden",,,ReqCent);
ELSE
DO;
ZW_KundenNr = x;
CALL UP_Kunden_alles;
CALL UP_ReErst_fuellen;
END;
END;
END;
WHEN msgcode4 = 47 | msgcode4 = 55 THEN
ACTIVATEGADID(43,w4,null());
WHEN msgid4 = 42 | msgcode4 = 67 | msgcode4 = 99 THEN
IF ZW_Tel > "" THEN
DO;
rtezrequest("ARexx Port von WilhelmTEL fehlt leider noch!",,,ReqCent);
END;
ELSE
rtezrequest("Nö, ohne Telefonnummer geht hier nix!",,,ReqCent);
WHEN msgid4 = 43 THEN
DO;
Test = GETSTRGAD(w4,43,null());
IF Test = ZW_KundenNr | Druckart = "Firma" THEN
NOP;
ELSE
DO;
CALL UP_Kunde_OK;
ZW_KundenNr = right("000000" || TEST,6)
IF DATATYPE(ZW_KundenNr,'n') THEN
DO;
IF ZW_KundenNr > K_max THEN
ZW_KundenNr = K_max;
ZW_KundenNr = RIGHT("000000" || ZW_KundenNr,6);
END;
ELSE
DO;
rtezrequest("Kundennummer nicht numerisch, bitte prüfen!",,,ReqCent);
ZW_KundenNr = "000001";
END;
CALL UP_Kunden_alles;
CALL UP_ReErst_fuellen;
END;
END;
WHEN msgid4 = 44 | msgcode4 = 62 THEN
DO;
IF Druckart = "Firma" THEN
NOP;
ELSE
DO;
IF ZW_Suchen = "" THEN
DO;
Test = ZW_KundenNr + 1;
CALL UP_Kunde_OK;
ZW_KundenNr = right("000000" || Test,6);
IF ZW_KundenNr > K_max THEN
ZW_KundenNr = K_max;
ELSE
DO;
CALL UP_Kunden_alles;
CALL UP_ReErst_fuellen;
END;
END;
ELSE
DO;
x = "Nein";
DO I = (ZW_KundenNr + 1) TO (K_max-1);
I = right("000000" || I,6);
ZW_Suchen = UPPER(ZW_Suchen);
IF POS(ZW_Suchen,UPPER(KD_VorName.I)),
+ POS(ZW_Suchen,UPPER(KD_Name.I)),
+ POS(ZW_Suchen,UPPER(KD_Strasse.I)),
+ POS(ZW_Suchen,UPPER(KD_PLZ.I)),
+ POS(ZW_Suchen,UPPER(KD_Ort.I)),
+ POS(ZW_Suchen,UPPER(KD_Land.I)),
+ POS(ZW_Suchen,UPPER(KD_GebTag.I)),
+ POS(ZW_Suchen,UPPER(KD_Tel.I)),
+ POS(ZW_Suchen,UPPER(KD_Fax.I)),
+ POS(ZW_Suchen,UPPER(KD_Dfue.I)),
+ POS(ZW_Suchen,UPPER(KD_EMail1.I)),
+ POS(ZW_Suchen,UPPER(KD_EMail2.I)),
+ POS(ZW_Suchen,UPPER(KD_EMail3.I)),
+ POS(ZW_Suchen,UPPER(KD_Anrede.I)),
+ POS(ZW_Suchen,UPPER(KD_BAnr.I)),
+ POS(ZW_Suchen,UPPER(KD_Komm.I)),
+ POS(ZW_Suchen,UPPER(KD_BankBez.I)),
+ POS(ZW_Suchen,UPPER(KD_BLZ.I)),
+ POS(ZW_Suchen,UPPER(KD_Konto.I)),
+ POS(ZW_Suchen,UPPER(KD_BankKurz.I)) > 0 THEN
DO;
x = I;
I = K_max;
END;
END;
IF x = "Nein" THEN
rtezrequest("Der Begriff konnte nicht nochmal gefunden werden",,,ReqCent);
ELSE
DO;
ZW_KundenNr = x;
CALL UP_Kunden_alles;
CALL UP_ReErst_fuellen;
END;
END;
END;
END;
WHEN msgid4 = 45 | msgcode4 = 60 THEN
DO;
IF Druckart = "Firma" THEN
NOP;
ELSE
DO;
IF ZW_Suchen = "" THEN
DO;
Test = ZW_KundenNr - 1;
CALL UP_Kunde_OK;
ZW_KundenNr = right("000000" || Test,6);
IF ZW_KundenNr < 000001 THEN
ZW_KundenNr = "000001";
ELSE
DO;
CALL UP_Kunden_alles;
CALL UP_ReErst_fuellen;
END;
END;
ELSE
DO;
x = "Nein";
DO I = (ZW_KundenNr - 1) TO 1 BY -1;
I = right("000000" || I,6);
ZW_Suchen = UPPER(ZW_Suchen);
IF POS(ZW_Suchen,UPPER(KD_VorName.I)),
+ POS(ZW_Suchen,UPPER(KD_Name.I)),
+ POS(ZW_Suchen,UPPER(KD_Strasse.I)),
+ POS(ZW_Suchen,UPPER(KD_PLZ.I)),
+ POS(ZW_Suchen,UPPER(KD_Ort.I)),
+ POS(ZW_Suchen,UPPER(KD_Land.I)),
+ POS(ZW_Suchen,UPPER(KD_GebTag.I)),
+ POS(ZW_Suchen,UPPER(KD_Tel.I)),
+ POS(ZW_Suchen,UPPER(KD_Fax.I)),
+ POS(ZW_Suchen,UPPER(KD_Dfue.I)),
+ POS(ZW_Suchen,UPPER(KD_EMail1.I)),
+ POS(ZW_Suchen,UPPER(KD_EMail2.I)),
+ POS(ZW_Suchen,UPPER(KD_EMail3.I)),
+ POS(ZW_Suchen,UPPER(KD_Anrede.I)),
+ POS(ZW_Suchen,UPPER(KD_BAnr.I)),
+ POS(ZW_Suchen,UPPER(KD_Komm.I)),
+ POS(ZW_Suchen,UPPER(KD_BankBez.I)),
+ POS(ZW_Suchen,UPPER(KD_BLZ.I)),
+ POS(ZW_Suchen,UPPER(KD_Konto.I)),
+ POS(ZW_Suchen,UPPER(KD_BankKurz.I)) > 0 THEN
DO;
x = I;
I = 0;
END;
END;
IF x = "Nein" THEN
rtezrequest("Der Begriff konnte nicht nochmal gefunden werden",,,ReqCent);
ELSE
DO;
ZW_KundenNr = x;
CALL UP_Kunden_alles;
CALL UP_ReErst_fuellen;
END;
END;
END;
END;
WHEN msgid4 = 46 | msgclass4 = CLOSEWINDOW | msgcode4 = 69 | msgcode4 = 101 | msgcode4 = 27 THEN
DO;
CALL UP_Kunde_OK;
extime4 = 1;
END;
WHEN msgid4 = 47 | msgcode4 = 68 | msgcode4 = 100 THEN
DO;
CALL UP_Kunde_OK;
CALL UP_Drucken;
END;
WHEN msgid4 = 48 THEN
DO;
Druckart = GETVALUE(mlabels4,msgcode4*4,4,'s');
SELECT;
WHEN Druckart = "Firma" THEN
CALL UP_Firma_alles;
WHEN Druckart = "Kunden" THEN
CALL UP_Kunden_alles;
OTHERWISE
NOP;
END;
CALL UP_ReErst_fuellen;
END;
OTHERWISE
NOP;
END;
RETURN 1;
Auswertung5:
SELECT
WHEN msgcode5 = 66 | msgcode5 = 98 THEN
ACTIVATEGADID(10,w5,null());
WHEN msgid5 = 10 THEN
ZW_ArtBez = GETSTRGAD(w5,10,null());
WHEN msgcode5 = 80 | msgcode5 = 112 THEN
ACTIVATEGADID(11,w5,null());
WHEN msgid5 = 11 THEN
ZW_ArtPreis = GETSTRGAD(w5,11,null());
WHEN msgcode5 = 85 | msgcode5 = 117 THEN
ACTIVATEGADID(12,w5,null());
WHEN msgid5 = 12 THEN
ZW_ArtBuch = GETSTRGAD(w5,12,null());
WHEN msgcode5 = 77 | msgcode5 = 109 THEN
ACTIVATEGADID(13,w5,null());
WHEN msgid5 = 13 THEN
DO;
Test = GETSTRGAD(w5,msgid5,null());
IF Test ~= ZW_ArtMWSt THEN
DO;
IF Test = "1" | Test = "2" | Test = "3" THEN
ZW_ArtMWSt = Test;
ELSE
DO;
CALL SETSTRGADID(w5,msgid5,ZW_ArtMWSt,null());
REFRESHGLIST(conxgad5,w5,null(),-1);
ACTIVATEGADID(msgid5,w5,null());
END;
END;
END;
WHEN msgcode5 = 72 | msgcode5 = 104 THEN
ACTIVATEGADID(41,w5,null());
WHEN msgid5 = 41 THEN /* Suchbegriff wurde eingegeben/geändert */
DO;
Test = GETSTRGAD(w5,41,null());
IF Test = "" THEN
ZW_Suchen = "";
ELSE
DO;
CALL UP_Artikel_OK;
j = LENGTH(Test);
x = "Nein";
Test = UPPER(Test);
DO I = 1 TO A_max;
I = right("000000" || I,6);
IF POS(Test,UPPER(AR_ArtBez.I)),
+ POS(Test,UPPER(AR_ArtPreis.I)),
+ POS(Test,UPPER(AR_ArtBuch.I)) > 0 THEN
DO;
x = I;
I = A_max;
END;
END;
ZW_Suchen = Test;
IF x = "Nein" THEN
rtezrequest("Der Begriff konnte nicht gefunden werden",,,ReqCent);
ELSE
DO;
ZW_ArtikelNr = x;
CALL UP_Artikel_alles;
CALL UP_ArtErst_fuellen;
END;
END;
END;
WHEN msgcode5 = 65 | msgcode5 = 97 THEN
ACTIVATEGADID(43,w5,null());
WHEN msgid5 = 43 THEN /* Artikelnummer wurde eingegeben/geändert */
DO;
Test = GETSTRGAD(w5,43,null());
IF Test = ZW_ArtikelNr THEN
NOP;
ELSE
DO;
CALL UP_Artikel_OK;
ZW_ArtikelNr = Test;
IF DATATYPE(ZW_ArtikelNr,'n') THEN
DO;
IF ZW_ArtikelNr > A_max THEN
ZW_ArtikelNr = A_max;
ZW_ArtikelNr = RIGHT("000000" || ZW_ArtikelNr,6);
END;
ELSE
DO;
rtezrequest("Artikelnummer nicht numerisch, bitte prüfen!",,,ReqCent);
ZW_ArtikelNr = "000001";
END;
CALL UP_Artikel_alles;
CALL UP_ArtErst_fuellen;
END;
END;
WHEN msgid5 = 44 | msgcode5 = 62 THEN
DO;
IF ZW_Suchen = "" THEN
DO;
Test = ZW_ArtikelNr + 1;
CALL UP_Artikel_OK;
ZW_ArtikelNr = right("000000" || Test,6);
IF ZW_ArtikelNr > A_max THEN
ZW_ArtikelNr = A_max;
ELSE
DO;
CALL UP_Artikel_alles;
CALL UP_ArtErst_fuellen;
END;
END;
ELSE
DO;
x = "Nein";
DO I = (ZW_ArtikelNr + 1) TO (A_max-1);
I = right("000000" || I,6);
IF POS(ZW_Suchen,UPPER(AR_ArtBez.I)),
+ POS(ZW_Suchen,UPPER(AR_ArtPreis.I)),
+ POS(ZW_Suchen,UPPER(AR_ArtBuch.I)) > 0 THEN
DO;
x = I;
I = A_max;
END;
END;
IF x = "Nein" THEN
rtezrequest("Der Begriff konnte nicht nochmal gefunden werden",,,ReqCent);
ELSE
DO;
ZW_ArtikelNr = x;
CALL UP_Artikel_alles;
CALL UP_ArtErst_fuellen;
END;
END;
END;
WHEN msgid5 = 45 | msgcode5 = 60 THEN
DO;
IF ZW_Suchen = "" THEN
DO;
Test = ZW_ArtikelNr - 1;
CALL UP_Artikel_OK;
ZW_ArtikelNr = right("000000" || Test,6);
IF ZW_ArtikelNr < 000001 THEN
ZW_ArtikelNr = "000001";
ELSE
DO;
CALL UP_Artikel_alles;
CALL UP_ArtErst_fuellen;
END;
END;
ELSE
DO;
x = "Nein";
DO I = (ZW_ArtikelNr - 1) TO 1 BY -1;
I = right("000000" || I,6);
IF POS(ZW_Suchen,UPPER(AR_ArtBez.I)),
+ POS(ZW_Suchen,UPPER(AR_ArtPreis.I)),
+ POS(ZW_Suchen,UPPER(AR_ArtBuch.I)) > 0 THEN
DO;
x = I;
I = 0;
END;
END;
IF x = "Nein" THEN
rtezrequest("Der Begriff konnte nicht nochmal gefunden werden",,,ReqCent);
ELSE
DO;
ZW_ArtikelNr = x;
CALL UP_Artikel_alles;
CALL UP_ArtErst_fuellen;
END;
END;
END;
WHEN msgid5 = 46 | msgclass5 = CLOSEWINDOW | msgcode5 = 69 | msgcode5 = 101 | msgcode5 = 27 THEN
DO;
CALL UP_Artikel_OK;
extime5 = 1;
END;
WHEN msgid5 = 47 | msgcode5 = 68 | msgcode5 = 100 THEN
DO;
CALL UP_Artikel_OK;
CALL UP_Drucken;
END;
WHEN msgid5 = 48 THEN
DO;
CALL UP_Artikel_alles;
CALL UP_ArtErst_fuellen;
END;
OTHERWISE
NOP;
END;
RETURN 1;
Auswertung6:
SELECT
WHEN msgcode6 = 33 | msgcode6 = 49 THEN
ACTIVATEGADID(10,w6,null());
WHEN msgid6 = 10 THEN
DO;
Test = GETSTRGAD(w6,msgid6,null());
IF Test ~= MWSt_Satz.1 THEN
DO;
IF datatype(Test,'n') THEN
MWSt_Satz.1 = Test;
ELSE
MWSt_Satz.1 = 15.0;
CALL SETSTRGADID(w6,msgid6,MWSt_Satz.1,null());
REFRESHGLIST(conxgad6,w6,null(),-1);
MWSt_Rech.1 = MWSt_Satz.1 / (100 + MWSt_Satz.1);
END;
END;
WHEN msgcode6 = 34 | msgcode6 = 50 THEN
ACTIVATEGADID(11,w6,null());
WHEN msgid6 = 11 THEN
DO;
Test = GETSTRGAD(w6,msgid6,null());
IF Test ~= MWSt_Satz.2 THEN
DO;
IF datatype(Test,'n') THEN
MWSt_Satz.2 = Test;
ELSE
MWSt_Satz.2 = 7.0;
CALL SETSTRGADID(w6,msgid6,MWSt_Satz.2,null());
REFRESHGLIST(conxgad6,w6,null(),-1);
MWSt_Rech.2 = MWSt_Satz.2 / (100 + MWSt_Satz.2);
END;
END;
WHEN msgcode6 = 87 | msgcode6 = 119 | msgid6 = 12 THEN
DO;
Test = rtfilerequest("SYS:Utilities",,"Anzeigeprogramm bestimmen");
IF Test > 0 THEN
DO;
AnzeigePGM = Test
CALL pitext(rpw6,7.8*Font_X,7.2*Font_Y,right(AnzeigePGM,12),apen,0,jam2,scrfont);
END;
END;
WHEN msgcode6 = 80 | msgcode4 = 112 THEN
ACTIVATEGADID(14,w4,null());
WHEN msgid6 = 14 THEN
Druckport = GETSTRGAD(w6,msgid6,null());
WHEN msgcode6 = 88 | msgcode4 = 120 THEN
ACTIVATEGADID(15,w6,null());
WHEN msgid6 = 15 THEN
DO;
Test = GETSTRGAD(w6,msgid6,null());
IF Test ~= D_XAbst THEN
DO;
IF datatype(Test,'w') THEN
D_XAbst = Test;
ELSE
DO;
D_XAbst = 1;
CALL SETSTRGADID(w6,msgid6,D_XAbst,null());
REFRESHGLIST(conxgad6,w6,null(),-1);
END;
END;
END;
WHEN msgcode6 = 89 | msgcode6 = 121 THEN
ACTIVATEGADID(16,w4,null());
WHEN msgid6 = 16 THEN
DO;
Test = GETSTRGAD(w6,msgid6,null());
IF Test ~= D_YAbst THEN
DO;
IF datatype(Test,'w') THEN
D_YAbst = Test;
ELSE
DO;
D_YAbst = 1;
CALL SETSTRGADID(w6,msgid6,D_YAbst,null());
REFRESHGLIST(conxgad6,w6,null(),-1);
END;
END;
END;
WHEN msgid6 = 17 THEN
DO;
IF D_Durch = "J" THEN
D_Durch = "N";
ELSE
D_Durch = "J";
END;
WHEN msgid6 = 18 | msgclass6 = CLOSEWINDOW | msgcode6 = 69 | msgcode6 = 101 | msgcode6 = 27 THEN
extime6 = 1;
OTHERWISE
NOP;
END;
RETURN 1;
UP_Kunden_alles:
ZW_VorName = KD_VorName.ZW_KundenNr;
ZW_Name = KD_Name.ZW_KundenNr;
ZW_Strasse = KD_Strasse.ZW_KundenNr;
ZW_PLZ = KD_PLZ.ZW_KundenNr;
ZW_Ort = KD_Ort.ZW_KundenNr;
ZW_Land = KD_Land.ZW_KundenNr;
ZW_GebTag = KD_GebTag.ZW_KundenNr;
ZW_Tel = KD_Tel.ZW_KundenNr;
ZW_Fax = KD_Fax.ZW_KundenNr;
ZW_Dfue = KD_Dfue.ZW_KundenNr;
ZW_EMail1 = KD_EMail1.ZW_KundenNr;
ZW_EMail2 = KD_EMail2.ZW_KundenNr;
ZW_EMail3 = KD_EMail3.ZW_KundenNr;
ZW_Anrede = KD_Anrede.ZW_KundenNr;
ZW_BAnr = KD_BAnr.ZW_KundenNr;
ZW_Komm = KD_Komm.ZW_KundenNr;
ZW_BankBez = KD_BankBez.ZW_KundenNr;
ZW_BLZ = KD_BLZ.ZW_KundenNr;
ZW_Konto = KD_Konto.ZW_KundenNr;
ZW_BankKurz = KD_BankKurz.ZW_KundenNr;
ZW_Rabatt = KD_Rabatt.ZW_KundenNr;
RETURN;
UP_Firma_alles:
ZW_VorName = FI_VorName;
ZW_Name = FI_Name;
ZW_Strasse = FI_Strasse;
ZW_PLZ = FI_PLZ;
ZW_Ort = FI_Ort;
ZW_Land = FI_Land;
ZW_GebTag = FI_GebTag;
ZW_Tel = FI_Tel;
ZW_Fax = FI_Fax;
ZW_Dfue = FI_Dfue;
ZW_EMail1 = FI_EMail1;
ZW_EMail2 = FI_EMail2;
ZW_EMail3 = FI_EMail3;
ZW_Anrede = FI_Anrede;
ZW_BAnr = FI_BAnr;
ZW_Komm = FI_Komm;
ZW_BankBez = FI_BankBez;
ZW_BLZ = FI_BLZ;
ZW_Konto = FI_Konto;
ZW_BankKurz = FI_BankKurz;
ZW_Rabatt = FI_Rabatt;
RETURN;
UP_ReErst_fuellen:
CALL SETSTRGADID(w4,10,ZW_VorName,null());
CALL SETSTRGADID(w4,11,ZW_Name,null());
CALL SETSTRGADID(w4,12,ZW_Strasse,null());
CALL SETSTRGADID(w4,13,ZW_PLZ,null());
CALL SETSTRGADID(w4,14,ZW_Ort,null());
CALL SETSTRGADID(w4,15,ZW_Land,null());
CALL SETSTRGADID(w4,16,ZW_GebTag,null());
CALL SETSTRGADID(w4,17,ZW_Tel,null());
CALL SETSTRGADID(w4,18,ZW_Fax,null());
CALL SETSTRGADID(w4,19,ZW_Dfue,null());
CALL SETSTRGADID(w4,20,ZW_EMail1,null());
CALL SETSTRGADID(w4,21,ZW_EMail2,null());
CALL SETSTRGADID(w4,22,ZW_EMail3,null());
CALL SETSTRGADID(w4,23,ZW_Anrede,null());
CALL SETSTRGADID(w4,24,ZW_BAnr,null());
CALL SETSTRGADID(w4,25,ZW_Komm,null());
CALL SETSTRGADID(w4,26,ZW_BankBez,null());
CALL SETSTRGADID(w4,27,ZW_BLZ,null());
CALL SETSTRGADID(w4,28,ZW_Konto,null());
CALL SETSTRGADID(w4,29,ZW_BankKurz,null());
CALL SETSTRGADID(w4,30,ZW_Rabatt,null());
CALL SETSTRGADID(w4,43,ZW_KundenNr,null());
CALL SETSTRGADID(w4,41,ZW_Suchen,null());
REFRESHGLIST(conxgad4,w4,null(),-1);
RETURN;
UP_Kunde_OK:
SELECT;
WHEN Druckart = "Firma" THEN
DO;
FI_VorName = ZW_VorName;
FI_Name = ZW_Name;
FI_Strasse = ZW_Strasse;
FI_PLZ = ZW_PLZ;
FI_Ort = ZW_Ort;
FI_Land = ZW_Land;
FI_GebTag = ZW_GebTag;
FI_Tel = ZW_Tel;
FI_Fax = ZW_Fax;
FI_Dfue = ZW_Dfue;
FI_EMail1 = ZW_EMail1;
FI_EMail2 = ZW_EMail2;
FI_EMail3 = ZW_EMail3;
FI_Anrede = ZW_Anrede;
FI_BAnr = ZW_BAnr;
FI_Komm = ZW_Komm;
FI_BankBez = ZW_BankBez;
FI_BLZ = ZW_BLZ;
FI_Konto = ZW_Konto;
FI_BankKurz = ZW_BankKurz;
FI_Rabatt = ZW_Rabatt;
END;
WHEN Druckart = "Kunden" THEN
DO;
KD_VorName.ZW_KundenNr = ZW_VorName;
KD_Name.ZW_KundenNr = ZW_Name;
KD_Strasse.ZW_KundenNr = ZW_Strasse;
KD_PLZ.ZW_KundenNr = ZW_PLZ;
KD_Ort.ZW_KundenNr = ZW_Ort;
KD_Land.ZW_KundenNr = ZW_Land;
KD_GebTag.ZW_KundenNr = ZW_GebTag;
KD_Tel.ZW_KundenNr = ZW_Tel;
KD_Fax.ZW_KundenNr = ZW_Fax;
KD_Dfue.ZW_KundenNr = ZW_Dfue;
KD_EMail1.ZW_KundenNr = ZW_EMail1;
KD_EMail2.ZW_KundenNr = ZW_EMail2;
KD_EMail3.ZW_KundenNr = ZW_EMail3;
KD_Anrede.ZW_KundenNr = ZW_Anrede;
KD_BAnr.ZW_KundenNr = ZW_BAnr;
KD_Komm.ZW_KundenNr = ZW_Komm;
KD_BankBez.ZW_KundenNr = ZW_BankBez;
KD_BLZ.ZW_KundenNr = ZW_BLZ;
KD_Konto.ZW_KundenNr = ZW_Konto;
KD_BankKurz.ZW_KundenNr = ZW_BankKurz;
KD_Rabatt.ZW_KundenNr = ZW_Rabatt;
END;
OTHERWISE
NOP;
END;
IF ZW_Name > "" & ZW_KundenNr = K_max then
DO;
K_max = K_max + 1;
CALL UP_K_max_init;
END;
ELSE IF ZW_Name = "" & ZW_KundenNr = (K_max -1) then
DO;
K_max = ZW_KundenNr;
CALL UP_K_max_init;
END;
DefGads4 = 2;
RETURN;
UP_Artikel_alles:
ZW_ArtBez = AR_ArtBez.ZW_ArtikelNr;
ZW_ArtPreis = AR_ArtPreis.ZW_ArtikelNr;
ZW_ArtBuch = AR_ArtBuch.ZW_ArtikelNr;
ZW_ArtMWSt = AR_ArtMWSt.ZW_ArtikelNr;
RETURN;
UP_ArtErst_fuellen:
CALL SETSTRGADID(w5,10,ZW_ArtBez,null());
CALL SETSTRGADID(w5,11,ZW_ArtPreis,null());
CALL SETSTRGADID(w5,12,ZW_ArtBuch,null());
CALL SETSTRGADID(w5,13,ZW_ArtMWSt,null());
CALL SETSTRGADID(w5,43,ZW_ArtikelNr,null());
REFRESHGLIST(conxgad5,w5,null(),-1);
RETURN;
UP_Artikel_OK:
IF AR_ArtBez.ZW_ArtikelNr = ZW_ArtBez &,
AR_ArtPreis.ZW_ArtikelNr= ZW_ArtPreis &,
AR_ArtBuch.ZW_ArtikelNr = ZW_ArtBuch &,
AR_ArtMWSt.ZW_ArtikelNr = ZW_ArtMWSt THEN
NOP;
ELSE;
DO;
AR_ArtBez.ZW_ArtikelNr = ZW_ArtBez;
AR_ArtPreis.ZW_ArtikelNr= ZW_ArtPreis;
AR_ArtBuch.ZW_ArtikelNr = ZW_ArtBuch;
AR_ArtMWSt.ZW_ArtikelNr = ZW_ArtMWSt;
IF ZW_ArtBez > "" & ZW_ArtikelNr = A_max then
DO;
A_max = A_max + 1;
CALL UP_A_max_init;
END;
ELSE IF ZW_ArtBez = "" & ZW_ArtikelNr = A_max - 1 then
DO;
A_max = A_max - 1;
CALL UP_A_max_init;
END;
DefGads5 = 2;
END;
RETURN;
UP_Rechnung_OK:
Art_gr_null = 0;
IF RE_Kunde.UEB_RechNr ~= ZW_KundenNr THEN
DO;
RE_Kunde.UEB_RechNr = ZW_KundenNr;
DefGads2 = 2;
END;
DO z = 1 to I_Max;
IF RE_Art.z.UEB_RechNr ~= ZW_Art_Nr.z |,
RE_Anz.z.UEB_RechNr ~= ZW_Art_Anz.z THEN
DO;
RE_Art.z.UEB_RechNr = ZW_Art_Nr.z;
RE_Anz.z.UEB_RechNr = ZW_Art_Anz.z;
DefGads2 = 2;
END;
IF ZW_Art_Nr.z > "" THEN
Art_gr_null = 1;
END;
IF Art_gr_null = 1 & UEB_RechNr = R_max THEN
DO;
R_max = R_max + 1;
CALL UP_Rech_max_init;
END;
ELSE IF Art_gr_null = 0 & UEB_RechNr = (R_max - 1) THEN
DO;
R_max = R_max - 1;
CALL UP_Rech_max_init;
END;
RETURN;
UP_R_Berechnung:
ZW_MWSt = 0;
ZW_Endsumme = 0;
ZW_Rab = 0;
ZW_KundenNr = RE_Kunde.UEB_RechNr;
ZW_Rabatt = KD_Rabatt.ZW_KundenNr
IF ~DATATYPE(ZW_Rabatt,'n') THEN
ZW_Rabatt = 0;
ZW_Rabatt = ZW_Rabatt / 100;
DO j = 1 to I_Max;
ZW_Art_Nr.j = RE_Art.j.UEB_RechNr;
IF ZW_Art_Nr.j > "" THEN
DO;
x = ZW_Art_Nr.j;
ZW_EPreis.j = AR_ArtPreis.x;
ZW_ArtBez.j = AR_ArtBez.x;
ZW_Menge.j = RE_Anz.j.UEB_RechNr;
ZW_Summe.j = (ZW_EPreis.j * ZW_Menge.j) + 0.005;
IF ZW_Summe.j < 0 THEN
ZW_Summe.j = ZW_Summe.j - 0.01;
ZW_Summe.j = trunc(ZW_Summe.j,2);
ZW_Rab = ZW_Rab + (ZW_Summe.j * ZW_Rabatt);
ZW_Summe.j = right(ZW_Summe.j,10);
ZW_Endsumme = ZW_Endsumme + ZW_Summe.j;
z = AR_ArtMWSt.x;
ZW_MWSt = ZW_MWSt + ((ZW_Summe.j - (ZW_Summe.j * ZW_Rabatt)) * MWSt_Rech.z);
END;
ELSE
DO;
ZW_Summe.j = "";
ZW_Art_Nr.j = "";
ZW_Art_Bez.j= "";
ZW_EPreis.j = "";
ZW_ArtBez.j = "";
END;
END;
ZW_Endsumme = right(trunc(ZW_Endsumme - ZW_Rab + 0.005,2),10);
ZW_Rab = right(trunc(ZW_Rab + 0.005,2),9);
ZW_MWSt = right(trunc(ZW_MWSt + 0.005,2),9);
RETURN;
/* Unterprogramm zum S P E R R E N von Texten */
UP_Sperr: procedure expose units;
parse arg ZW_Text;
Text_Sperr = "";
DO i = 1 to length(ZW_Text);
Text_Sperr = Text_Sperr || substr(ZW_Text,i,1) || " ";
END;
RETURN Text_Sperr;
/* Unterprogramm zur Ermittlung des aktuellen Datums */
UP_Datum:procedure;
tt = SUBSTR(DATE(s),7,2); /* Tag im Monat */
mm = SUBSTR(DATE(s),5,2); /* Monat */
jjjj = right(DATE(n),4); /* Jahr und Jahrhundert */
datum = tt || "." || mm || "." || jjjj; /* zusammenfügen */
RETURN datum;